Channel extrapolation from one frequency and time to another

ABSTRACT

An improved channel estimation technique is provided herein that determines accurate scatterer parameters for the scattering objects in the wireless channel, and extrapolates the scatterer parameters in both time and frequency to characterize the scattering objects for a different time and a different frequency. In one embodiment, a wireless device determines scatterer parameters that characterizes the scattering objects of a reception channel, and extrapolates the scatterer parameters in both time and frequency to predict the scatterer parameters for a future time and frequency, e.g., a future transmission time and frequency.

This application claims priority to U.S. Provisional Patent Application 61/157,615 filed Apr. 28, 2009, which is incorporated herein by reference.

BACKGROUND

In a wireless communication system, a transmitted signal reflects off objects (e.g. buildings, hills, etc.) in the environment, referred to herein as scattering objects. The reflections arrive at a receiver from different directions and with different delays. The reflections or multi-paths can be characterized by a path delay and a complex delay coefficient. The complex delay coefficients show fast temporal variation due to the mobility of the vehicle while the path delays are relatively constant over a large number of OFDM symbol periods.

Channel estimation is the process of characterizing the effect of the radio channel on the transmitted signal. Channel estimates approximating the effect of the channel on the transmitted signal may be used for interference cancellation, diversity combining, ML detection, and other purposes. Many channel estimation techniques in common use do not produce sufficiently accurate estimates of the channel for use by higher order modulations. Further, it is difficult to predict how the channel will change due to the mobility of the vehicle. Therefore, there is a need for new channel estimation techniques that will produce more accurate channel estimates for higher order modulation and enable prediction of the channel from current channel estimates.

SUMMARY

The present invention provides an improved channel estimation technique that determines accurate scatterer parameters for the scattering objects in the wireless channel, and extrapolates the scatterer parameters in both time and frequency to characterize the scattering objects for a different time and a different frequency. For example, the present invention may determine scatterer parameters that characterizes the scattering objects of a reception channel, and extrapolates the scatterer parameters in both time and frequency to predict the scatterer parameters for a future time and frequency, e.g., a future transmission time and frequency. Thus, one benefit of the present invention is its ability to accurately characterize a transmission channel based on information obtained for a reception channel.

In one exemplary embodiment, a processor in a transceiver determines a first set of scatterer parameters based on signal samples received via a first communication channel associated with a first frequency and a first time. The first set of scatterer parameters comprises a set of scattering coefficients for each of a plurality of scattering objects, where each scattering object has an associated path delay and a rate of change of path delay, or equivalently, Doppler shift. For example, the processor may determine the first set of scatterer parameters using the method provided by co-pending application Ser. No. 12/478473 and/or co-pending application Ser. No. 12/478520, which are both incorporated herein by reference. The processor then determines a second set of scatterer parameters for a second communication channel associated with a second frequency and a second time. The processor determines the second set of scatterer parameters by calculating extrapolated scattering coefficients for the second set of scatterer parameters based on the first set of scatterer parameters, the first and second frequencies, and the first and second times. The processor may use the resulting second set of scatterer parameters to characterize the second communication channel, e.g., to determine channel estimates for the second communication channel.

In one exemplary embodiment referred to herein as the Continuous Transform approach, the processor calculates the extrapolated scattering coefficients by rotating the phase of the scattering coefficients in the first set of scatterer parameters based on a frequency difference between the first and second frequencies and a time difference between the first and second times. In another exemplary embodiment referred to herein as the Kalman approach, each scattering coefficient in the first set of scatterer parameters is associated with a rate of change of delay. The processor calculates the extrapolated scattering coefficients based on the second frequency and extrapolated path delays calculated for the second set of scatter parameters based on the rate of change of delay and the path delays of the first set of scatterer parameters.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows the relationship between different scattering objects and different path delays relative to a transmitter and receiver in a wireless system.

FIG. 2 shows exemplary Doppler frequency vectors associated with the scattering objects relative to the receiver at a particular instant of time.

FIG. 3 shows one exemplary process for calculating extrapolated scatterer parameters for a transmission channel.

FIG. 4 shows one exemplary Continuous Transform process for calculating extrapolated scatterer parameters for a transmission channel.

FIG. 5 shows one exemplary Kalman process for calculating extrapolated scatterer parameters for a transmission channel.

FIG. 6 shows an exemplary transmitter.

FIG. 7 shows an exemplary receiver according to an exemplary embodiment of the present invention.

FIG. 8 shows measured channel impulse responses obtained from field test data.

FIG. 9 maps the intensity of signal rays in the Doppler-delay domain.

FIG. 10 shows an exemplary method for determining path delays and the corresponding Doppler parameters according to the present invention.

FIGS. 11A and 11B show details for implementing the transform methods of FIG. 7.

FIG. 12 shows the change in θ due to time delay differences.

FIG. 13 shows one integrated Doppler process for tracking scatterer parameters according to one exemplary embodiment of the present invention.

FIG. 14 shows extrapolating delay slopes from one frequency band to another.

FIG. 15 shows one exemplary process for calculating extrapolated scatterer parameters for a multiple antenna element device.

FIG. 16 shows another exemplary process for calculating extrapolated scatterer parameters for a multiple antenna element device.

DETAILED DESCRIPTION

Transmitted signals traveling through wireless communication channels typically encounter several scattering objects, e.g., buildings, mountains, trees, etc., before reaching a receiver. As used herein, the term “scattering object” refers to both single scattering objects and clusters of scattering objects that are too close to separate. Each scattering object reflects the transmitted signal along a different propagation path. The receiver relies on accurate channel estimates to process the received signal. Channel estimation is the process of characterizing the effect of these scattering objects on the transmitted signal. Channel estimates typically used by receivers can include complex coefficients of the channel impulse response at a number of equally-spaced delays, e.g., equally-spaced chip delays in a CDMA (Code Division Multiple Access) system, as well as complex coefficients indicative of the channel frequency response at a number of equally-spaced frequencies, e.g., equally-spaced subcarrier frequencies in an OFDM (Orthogonal Frequency Division Multiplex) system. The receiver may use channel estimates approximating the effect of the channel on the transmitted signal for interference cancellation, diversity combining, ML detection, and other purposes.

Accurate channel estimation relies on the accurate characterization of the scattering objects within the channel. In order to characterize the scattering objects, the receiver determines the path delays, complex delay coefficients, and Doppler or rate-of-change of delay parameters corresponding to the scattering objects. Ideally, each scattering object in the multi-path channel corresponds to a different path delay. However, there are scenarios where different scattering objects cause reflected signals to have the same path delay even though the reflected signals traverse different paths. For example, FIG. 1 shows a plurality of ellipses surrounding a transmitter 12 and a receiver 14, where the transmitter 12 and receiver 14 mark the foci of the ellipses, where a scattering object 10 falls on one of the ellipses, and where different ellipses correspond to different path delays. Thus, the paths of different scattering objects 10 positioned along the same ellipse have the same path delay, while the paths of different scattering objects 10 positioned along different ellipses have different path delays. For example, scattering objects 10 a, 10 b both fall on ellipse 2, while scattering object 10 c falls on ellipse 1. Thus, the path delay associated with path 18 c differs from the path delay associated with path 18 a or path 18 b, where path 18 a and path 18 b both have the same path delay. Because scattering objects 10 a and 10 b apply the same path delay to a transmitted signal, receiver 14 cannot use path delay alone to distinguish scattering object 10 a associated with path 18 a from scattering object 10 b associated path 18 b.

Because path delay alone cannot be used to characterize the scattering objects 10, the receiver 14 may use another characterizing parameter, such as a Doppler parameter, to further characterize and distinguish the different scattering objects 10. For example, objects 10 with the same delay at different angular positions on the same delay-ellipse exhibit different Doppler shifts for moving a transmitter 12 and/or receiver 14. Thus, receiver 14 may determine the Doppler shift (or the equivalent rate of change of delay) to further distinguish between scattering objects 10 having identical path delays. FIG. 2 shows an example of the different Doppler frequency vectors associated with the scattering objects relative to a moving receiver 14 at a particular instant of time. By determining how the Doppler effect changes the complex delay coefficients over time, e.g., over multiple OFDM symbol periods, receiver 14 may distinguish different paths 18 having the same path delay but caused by different scattering objects 10. U.S. patent application Ser. No. 12/478473 and U.S. application Ser. No. 12/478520 to current applicants, which are both incorporated by reference herein, describe methods for accurately characterizing and tracking the scattering coefficients for different scattering objects to improve the accuracy of estimating channel impulse responses.

Generally, receivers rely on the channel estimates to accurately process (e.g., decode/demodulate) received signals. If the transmitter also had a reliable characterization of the transmission channel, the transmitter could use such channel information to improve the reliability of communications between the transmitter and receiver. However, errors in the reception channel estimates coupled with the differences between transmission and reception channels, e.g., different transmission and reception times, different transmission and reception frequencies, etc., generally cause transmission channel estimates derived from reception channel estimates to be prohibitively inaccurate, and therefore, useless.

The present invention provides a method for accurately characterizing a transmission channel based on information obtained for a reception channel. FIG. 3 shows one exemplary method 50 for characterizing a transmission channel. A wireless device determines a first set of scatterer parameters for a reception channel based on received signal samples associated with a reception frequency and time (block 52). The first set of scatterer parameters comprises a set of scattering coefficients for each of a plurality of path delays, where each scattering coefficient corresponds to a scattering object. The device then determines a second set of scatterer parameters for a transmission channel associated with a transmission frequency and time by calculating extrapolated scattering coefficients for the second set of scatterer parameters based on the first set of scatterer parameters, the reception and transmission frequencies, and the reception and transmission times (block 54).

The following describes the invention in terms of reception and transmission channels. It will be appreciated, however, that the present invention generally applies to communication channels associated with different communication times and frequencies. It will further be appreciated that the present invention does not require the use of all reception channel scattering coefficients. Instead, in determining the scatterer parameters for the transmission channel, the processor may only use some of the reception channel scattering coefficients. The remaining reception channel scattering coefficients may be discarded or used as transmission channel scattering coefficients.

In one exemplary embodiment, referred to herein as the Continuous Transform embodiment, a processor determines the scatterer parameters for the reception channel based on the received signal samples. The present invention may, for example, use the teachings of the Ser. No. 12/478473 application and/or the teachings of U.S. application Ser. No. 12/478520 to determine and/or track the scatterer parameters for a reception channel associated with a reception time and a reception frequency. The scatterer parameters comprise a plurality of scattering coefficients and associated Doppler frequencies for each of a plurality of path delays. The set of scattering coefficients and associated Doppler frequencies corresponding to a given path delay characterize the different scattering objects in the reception channel associated with that path delay. The determined scatterer parameters collectively correspond to the reception time and frequency.

FIG. 4 shows one exemplary Continuous Transform method 60 for calculating the extrapolated scattering coefficients for the transmission channel associated with a transmission time and transmission frequency. To that end, the processor determines a frequency difference between the reception and transmission frequencies (block 62), and determines rotated scattering coefficients by rotating a phase of the reception channel scattering coefficients based on the frequency difference (block 64). The processor also determines a time difference between reception and transmission times (block 66), and calculates the extrapolated scattering coefficients by rotating a phase of the rotated scattering coefficients based on the time difference (block 68). While not shown in FIG. 4, the processor may also calculate extrapolated Doppler frequencies by determining the ratio between the transmission channel frequency and the reception channel frequency, and using the scaling factor to scale the reception channel Doppler frequencies. The processor uses the resulting scatterer parameters to characterize the transmission channel, e.g., to determine channel estimates for the transmission channel.

In another exemplary embodiment, referred to herein as the Kalman embodiment, the processor determines the scatterer parameters for the reception channel based on the received signal samples. The present invention may, e.g., use the teachings of the Ser. No. 12/478473 application and/or the Ser. No. 12/478520 application to determine and/or track the scatterer parameters for a reception channel associated with a reception time and a reception frequency. The scatterer parameters comprise a plurality of scattering coefficients and associated rate of change of delay for each of a plurality of path delays. For this embodiment, the scattering coefficients comprise reflection coefficients, which are independent of time and frequency, rotated by the time and frequency of the corresponding channel, where each reflection coefficient corresponds to a different scattering object, and where each reflection coefficient has an associated rate of change of delay. The determined scatterer parameters collectively correspond to the reception time and frequency.

FIG. 5 shows one exemplary Kalman method 70 for calculating the extrapolated scattering coefficients for the transmission channel associated with a transmission time and transmission frequency using a Kalman filter process. To that end, the processor calculates extrapolated path delays for the transmission channel based on the reception channel path delays and the corresponding rates of change of delay (block 72). The processor then calculates the extrapolated scattering coefficients based on the extrapolated path delays and the transmission frequency by rotating a phase of the reception channel reflection coefficients based on the extrapolated path delays and the transmission channel frequency (block 74).

Before describing the details of the extrapolation process of the present invention, the following provides the details associated with the Ser. Nos. 12/478473 and 12/478520 applications. Broadly, the Ser. No. 12/478473 invention determines the actual path delay and Doppler parameter information for a plurality of scattering objects in a wireless channel. Based on the path delay and Doppler frequency information, the receiver determines channel estimates useful for higher order modulation processing, channel prediction, etc. More particularly, the receiver 14 applies a frequency-to-time transform to a plurality of OFDM subcarrier signal samples received over a plurality of OFDM symbol periods to determine a set of non-equally spaced path delays and a set of associated complex delay coefficients. Further, the receiver 14 applies a time-to-frequency transform to the complex delay coefficients determined for individual path delays over multiple OFDM symbol periods to determine a set of Doppler parameters comprising a plurality of non-equally spaced Doppler frequencies and their corresponding scattering coefficients for individual path delays.

Because the transform operations of the Ser. No. 12/478473 invention are not constrained to determining output values at equally spaced time or frequency intervals, the non-equally spaced path delays, the associated complex delay coefficients, and the associated Doppler parameter sets have fewer errors than those produced by conventional techniques. The transform operations described therein therefore fully characterize the scattering objects 10 while avoiding the accuracy problems of the prior art. The increased accuracy of the resulting scattering object characterizations enable the receiver 14 to better track the channel estimates.

To facilitate the following detailed explanations, FIGS. 6 and 7 first show simplified internal details of an exemplary OFDM transmitter 12 and OFDM receiver 14, respectively. Transmitter 12 comprises an antenna 13, Inverse Fourier transform unit 20, parallel-to-serial converter 22, modulator 24, and power amplifier 26. Generally, the transmitter uses an Inverse Discrete Fourier Transform (IDFT) to encode symbols, and the receiver uses a Discrete Fourier Transform (DFT) to decode signals. However, the IDFT and DFT may be interchanged, and are so similar that they are simply referred to herein as Fourier Transform units 20. Signal values to be transmitted (S1 . . . Sn) are input to the Fourier transform unit 20 which may be a specialized, hardwired FFT (or IFFT) circuit or a DSP implementation. Fourier transform unit 20 transforms the n input values to at least n output values. It is advantageous to use more than n output values, termed “over-sampling”. For example, n=700 input values could be transformed to m=1024 output values, using a 1024-point FFT. The 524 unused inputs would be set to zero, representing 262 empty spectral bins on either side of the 700 spectral bins used for the 700 input values. Oversampling simplifies subsequent anti-aliasing filtering needed to limit out-of-band spectral energy.

Parallel-to-serial unit 22 converts the output values of the Fourier transform unit 20 to serial form by selecting them successively in a fixed order. Each value is complex, so the serial stream comprises a stream of real parts and a stream of imaginary parts, i.e., a stream of (I, Q) values. The stream of I-values and the stream of Q-values are converted to continuous-time I and Q signals by digital-to-analog conversion and filtering within modulator 24. The filter frequency response is required to pass frequencies corresponding to the used spectral bins, e.g., the 700 bins exemplified above, while attenuating frequencies beyond the exemplary 1024 bins. Thus, oversampling leaves a margin between the required passband and the required stop band so that the filter is not required to have an impossibly steep rate of cut-off. The modulator 24 further uses the continuous-time I and Q signals to modulate cosine and sine wave carrier frequency signals, respectively, to generate an OFDM modulated radio frequency signal, which is amplified to a transmit power level in amplifier 26 and transmitted via antenna 13.

FIG. 7 shows a receiver 14 according to one exemplary embodiment of the present invention. Receiver 14 comprises an antenna 15, front-end receiver elements (e.g., amplifier 30, down converter 32, serial-to-parallel converter 34, and Fourier transform unit 36), channel processor 38, and signal processor 40. The front-end receiver elements generate a plurality of signal samples corresponding to a plurality of frequencies from a signal received via antenna 15. More particularly, amplifier 30 amplifies an OFDM symbol received via antenna 15, and down converter 32 down converts the amplified OFDM symbol to the complex digital baseband. The down converter 32 may comprise any known down converter that has means to select an operating frequency, means to filter the received signal to select the signal bandwidth centered on the selected operating frequency, and means to sample and analog-to-digital convert the filtered signal to generate the complex digital I, Q signals. For example, down converter 32 may comprise a zero-IF or homodyne down converter, a low-IF down converter, or a conventional superheterodyne down converter in which the final IF signal is demodulated by mixing with cosine and sine reference signal waveforms in a quadrature mixer arrangement. Exemplary down converters include those described by U.S. Pat. No. 5,048,059 (reissued as U.S. Pat. No. RE37,138), U.S. Pat. Nos. 5,084,669, and 5,070,303.

As in the case of the transmitter 12, it is useful to oversample the filtered signal in order to permit a relaxed specification, for the signal selection filters. The digital I, Q samples from the I, Q downconverter are then assembled into a block by serial-to-parallel converter 34, which can for example comprise a DSP memory. The block is then Fourier Transformed by Fourier transform unit 36 which is the reverse or conjugate process to the transmit Fourier transform unit 20. The output of Fourier transform unit 36 comprises the same number of samples as in the input block, which, with oversampling, is greater than n. Only n samples are used however, and the rest, which correspond to out-of-band spectral components not completely suppressed by the signal selection filters, are discarded. The output samples {tilde over (S)}1 to {tilde over (S)}n correspond to the samples input to the transmitter 12, with the addition of transmission noise and any distortion effects caused by the propagation channel. Channel processor 38 processes samples {tilde over (S)}1 to {tilde over (S)}n to determine the channel estimates. Signal processor 40 uses the channel estimates to process (e.g., decode) samples {tilde over (S)}1 to {tilde over (S)}n to recover the transmitted data symbols S1 to Sn.

More particularly, channel processor 38 applies a frequency-to-time transform to the pilot samples within samples {tilde over (S)}1 to {tilde over (S)}n to determine a set of non-equally spaced path delays and the corresponding complex delay coefficients. It will be appreciated that the frequency-to-time transform may be jointly applied to a matrix of pilot symbols obtained from multiple OFDM symbol periods to determine a matrix of complex delay coefficients, where a given row of the delay coefficient matrix corresponds to a given OFDM symbol period, and where a given column of the delay coefficient matrix corresponds to a given path delay within the set of non-equally spaced path delays. It will further be appreciated that the joint operation may alternately be replaced with an individual operation, where the frequency-to-time transform is individually applied to individual sets of pilot samples from individual OFDM symbol periods. In this case, different rows of the delay coefficient matrix are produced by individual frequency-to-time transform operations applied to signal samples from individual OFDM symbols, where different rows of the matrix correspond to different OFDM symbol periods. The complex delay coefficients in each column of the resulting matrix generally correspond to a common path delay, plus or minus a small path delay differential. It will be appreciated that while the operation of jointly determining a common set of non-equally spaced delays that apply over multiple different OFDM symbol periods represents a preferred implementation, other implementations of the invention may determine the delay values independently for each OFDM symbol period.

Subsequently, channel processor 38 applies a time-to-frequency transform to individual columns of the delay coefficient matrix to determine a Doppler spectrum for each path delay. The determination of a Doppler Spectrum from a column of delay coefficients for a given path delay presumes that the path delay is common to all the OFDM symbol periods of the column, and thus is optimum when the receiver determines the path delays jointly over multiple different OFDM symbol periods. However, individual determination of the path delays could be used for each OFDM symbol period, providing the delay coefficients in individual columns of the resulting matrix are conformed to the same path delay prior to Doppler analysis of the column of complex delay coefficients. This conforming operation may be achieved by rotating each delay coefficient in phase angle by W_(o)dT, where W_(o) represents the center frequency of the signal, and dT represents the amount of delay change needed to conform the path delay for a complex delay coefficient in a particular column to a common delay for that column.

In any event, each Doppler spectrum comprises a set of determined Doppler parameters, which each comprise a plurality of non-equally spaced Doppler frequencies and their corresponding complex scattering coefficients. Unlike the joint determination of the path delays over different OFDM symbol periods, determining the Doppler spectra is not a joint operation over different path delays. Instead, the channel processor 38 determines the Doppler spectrum individually for a given path delay, e.g., delay column. Collecting different sets of Doppler parameters determined for different ones of the non-equally spaced path delays into a matrix produces a Doppler parameter matrix, where a given column of the Doppler parameter matrix provides a set of Doppler parameters for a given path delay from the set of non-equally spaced path delays, and where each entry in the Doppler parameter matrix comprises at least a Doppler frequency and an associated complex coefficient for a particular path delay. Channel processor 38 uses the non-equally spaced path delays and corresponding Doppler parameters to characterize the channel, e.g., to determine the channel estimates as described herein or according to any known means. Because the path delays and Doppler parameters have significantly more accuracy than those obtained from conventional approaches, the resulting channel estimates are also significantly more accurate, as discussed above.

The simplified receiver 14 of FIG. 7 was deliberately illustrated in the same form as the simplified transmitter 12 of FIG. 6 to explain how the transmitter 12 and receiver 14 processes are essentially inverses of each other, with the result that n complex samples (S1,S2, . . . ,Sn) input to the transmitter 12 appear at the receiver output, effectively establishing n parallel channels of communication. These are normally employed to send digital information, using a suitable modulation constellation to map bit patterns to points in the complex I, Q plane. A practical OFDM communication system comprises many more details than shown in FIGS. 6 and 6, such as pulse shaping, cyclic prefixes, equalizers and such, which, although not essential to an understanding of the current invention, may be found in the following disclosures to the current applicant filed in the United States: “Method and Apparatus for Communicating with Root-Nyquist, Self-Transform Pulse Shapes” (U.S. Patent Provisional Application Ser. No. 60/924673 filed 25 May 2007, and subsequent PCT Application Serial No. PCT/US08/64743 filed 23 May 2008), “Use of Pilot Code in OFDM and Other Non-CDMA Systems” (U.S. patent application Ser. No. 12/255343 filed 21 Oct. 2008), and “Compensation of Diagonal ISI in OFDM Signals” (U.S. patent application Ser. No. 12/045157 filed 10 Mar. 2008), all of which are hereby incorporated by reference herein.

A detailed description of the improved method will be made using an exemplary OFDM transmission scheme. In the following description, reference will be made to different time periods and intervals. A clarification of the different time periods involved will therefore be given first, followed by the details associated with the inventive transforms described herein.

A wideband signal is produced by modulating a carrier frequency with a time-waveform that changes rapidly, in a short period that may be termed a modulation interval, a chip period, or the like. This is the shortest time period involved. An OFDM symbol comprises a large number of such modulation intervals—at least as many as there are subcarrier frequencies in the OFDM symbol. The set of modulation samples, spaced in time by the modulation interval, is computed by Inverse Fourier Transforming a set of phases and amplitudes, one per subcarrier frequency. Data symbols are encoded into the choice of each phase and amplitude by some chosen modulation scheme, such as 256 QAM, so that every subcarrier frequency carries a data symbol.

The total duration of the time-waveform output by the IFT is equal to the reciprocal of the subcarrier frequency spacing, and is called the OFDM symbol period. This may be extended by appending a so-called cyclic prefix, but some OFDM systems, known as Pulse-Shaped OFDM, do not need to extend the duration of the OFDM symbol to accommodate a cyclic prefix. In effect, the cyclic repeats of the OFDM symbol in pulse shaped OFDM symbols are permitted to overlap adjacent symbols, and therefore do not add a time-overhead. Therefore the potential use of a cyclic prefix is ignored for the rest of the discussion. A number of OFDM symbols may be collected together over a total analysis time interval, the total analysis time interval therefore being an integral number of OFDM symbol periods.

Reference will be made to various time domains and frequency domains which are also clarified herein. The frequency domain of the signal comprises the frequency span from the first to the last OFDM subcarrier frequency used. The OFDM signal also exists as a time waveform in the signal time domain, which is related to the signal frequency domain by the Fourier Transform.

A second frequency domain arises when looking at variations in signals arriving via scattered rays that are received from different objects with different Doppler shifts, due to having different relative velocities to the communicating station. If data symbol modulation is removed, the signal on any subcarrier frequency would still therefore be perceived to vary with time, and therefore possess a spectrum of finite width. This Doppler spectrum exists in the frequency domain also, but is very narrow even compared to a single OFDM subcarrier frequency spacing. For example, a typical subcarrier frequency spacing is 15 kHz, while a typical Doppler spectrum is only 100-200 Hz wide. The signal time variation that gives rise to the Doppler spectrum is from one OFDM symbol period to the next, and a total analysis interval of many OFDM symbol periods is required to resolve the Doppler spectrum.

The value of the amplitude and phase of a given sub-carrier frequency in a given OFDM symbol, ignoring data symbol modulation, is the result of the sum of many scattered waves of different phase and amplitude, and these may add constructively or destructively in each sub-carrier frequency bin. If the resultant phase and amplitude is plotted versus sub-carrier frequency, it will exhibit a frequency variation which is the channel frequency response. If the channel frequency response is inverse frequency transformed, the channel impulse response will be obtained. The impulse response indicates very approximately that the composite signal comprises the sum of a number of relatively delayed rays, and is a plot of phase and amplitude versus delay. This is therefore referred to as the Delay Domain.

Orthogonal Frequency Division Multiplexing (OFDM) is one method of reducing the complexity of equalizing methods needed to communicate high data rates in a multi-path channel. Using the transmitter 12 and receiver 14 described above, signals received from an OFDM transmitter 12 are applied to the Fourier transform unit 36 to produce a complex numerical value in each of the plurality of subcarrier frequency bins for each OFDM block period. For example, the receiver 14 may process data comprising a 1296 sub-carrier OFDM system having 15 kHz subcarrier frequency spacing, each OFDM symbol period thus being approximately 66.7 μs in duration (the reciprocal of 15 kHz). The total occupied bandwidth of such a signal is a little over 1296×15 kHz or 19.44 MHz, and therefore, the symbol period is 1/19.44 MHz, or 51.44 ns. For generating and analyzing such a signal, a 2048-point Fourier transform unit 36 may be used, leaving a margin for filtering as described above. In the above test system, every fourth subcarrier frequency contained a known pilot symbol, meaning that the phase of the pilot sub-carrier frequencies were set to values that were pre-agreed between receiver 14 and transmitter 12. Thus, 324 pilot symbols are transmitted per OFDM symbol interval of 66.7 μs. The pilot symbols are used to estimate the phase in adjacent channels by interpolation in both the frequency and time domain. To collect data from the test system, the complex value received for each pilot subcarrier frequency was averaged over 8 successive OFDM symbol periods to give one value per 8×66.7=533 μs. This is adequate sampling density for modest relative velocities between the transmitter 12 and receiver 14. Thus, as a first step in smoothing channel estimates, an average along the time domain of samples corresponding to the same frequency in the frequency domain was employed. This is typical of conventional channel estimation methods, but not the preferred implementation according to this invention.

If the 324 pilot symbols are extracted from the output of the receiver Fourier transform unit 36 and the known phase rotations of the pre-agreed pilot symbol pattern are removed, the result is an estimate of the transmission channel phase and attenuation at equally spaced points spaced 60 kHz apart along the frequency domain. These may be inverse frequency transformed to produce complex delay coefficients. In some CDMA and TDMA systems, these complex delay coefficients may represent a first estimate of the channel impulse response of the channel.

In some systems, the pilot symbols are equi-spaced in both a first half of the subcarriers and in a second half of the subcarriers, but the spacing between the first half and the second half is non-commensurate. This can be handled by treating the first half and second half symbols as two separate symbols with frequency displacement between the pilots of one half and the pilots of the other half. The method described herein can handle an arbitrary frequency displacement between the pilots of one symbol, or part symbol, and the pilots of another symbol, or part symbol, and still process them jointly to uncover a common set of scatterer delays. Moreover, when symbols that have already been decoded are included in the calculation, it is possible that all of the OFDM subcarrier frequencies can be used, and not just those bearing known pilot symbols.

FIG. 8 shows typical values of the impulse response magnitudes computed from field test data recorded while driving through Stockholm, Sweden. Only the magnitudes of the value for each delay bin are shown in FIG. 8, although the values are actually complex. Once the channel impulse response is known, it can be used to compute channel phases and amplitudes for the other subcarrier frequencies lying in between the pilot channels. These values are then used as channel phase references for the decoding of data symbols carried in the data-modulated subcarrier frequencies. As discussed above, noise or other impairments in these phase references may hinder the use of higher order modulations such as 256 QAM and/or the prediction of channel estimates for future time intervals.

Complex delay coefficients from successive time intervals may be stored to form a two dimensional array. Applying an individual time-to-frequency transform to the set of delay coefficients associated with individual delays results in a Doppler spectrum for each delay. The different Doppler spectrums for different delays may be collected into a new 2-D array called the Doppler parameter matrix. Because signal components are now separated by both delay and their relative velocities of the receiver 14 (or transmitter 12) with respect to their scattering objects 10, which is related to the bearing between the receiver 14 and the scattering object 10, the scattering objects 10 are now separated in two spatial dimensions (distance and angle) with the expectation that individual scattering objects 10 will now become resolvable. This indeed appears to be so, as shown in the plot of FIG. 9, which plots intensity of signal rays in the Doppler parameter matrix from a short segment of field test data comprising 40, 324 subcarrier frequencies, 8-symbol, partially pre-smoothed channel estimates collected over a period of 21.32 ms.

However, there exist a number of problems in using prior art frequency-to-time or time-to-frequency domain transforms to carry out the above. One problem is that conventional transform operations rely on the assumption that path delays will fall into equally-spaced time-bins, and likewise that Doppler frequencies will fall into equally-spaced frequency bins. For example, a fundamental assumption in Fourier analysis is that the entire function being transformed is the sum of harmonics of a common fundamental frequency, which means that the function is assumed to be repetitive with a repetition period that is the reciprocal of that common fundamental frequency. Consequently, attempts to use Fourier analysis of a function over samples 1 to N, which includes sample k, to predict the function for future sample N+k will merely return the same value as sample k, which is practically useless.

The algorithm known as Prony's algorithm implements a time-to-frequency transform that may be used to generate the Doppler parameter matrix without the assumption of equally spaced path delays or Doppler frequencies. Prony's algorithm has been traditionally applied to diverse fields such as Linear Predictive Speech Coding, direction finding using antenna arrays, and spectral analysis in Nuclear Magnetic Resonance Spectroscopy. A version in finite field arithmetic, known as the Massey-Berlekamp algorithm, is used for decoding Reed-Solomon error-correcting codes. The Prony algorithm is basically a method of spectral analysis that does not assume the spectrum falls into integrally-related frequency bins.

Unlike other transforms, the Prony algorithm is specifically formulated to spectrally analyze finite time segments of a signal, and therefore, gives precise results. The Prony algorithm decomposes the signal segment into a sum of exponentially decaying, exponentially growing, or static sinusoids which are all described by the expression:

Ce^((α+jω))   (1)

where C is a complex coefficient indicative of phase and amplitude, α is the exponential growth(+) or decay(−) rate factor, and ω is the angular frequency. Prony expresses a signal S(t) according to:

$\begin{matrix} {{S(t)} = {\sum\limits_{k = 1}^{M}{C_{k}{^{{({a_{k} + {j\omega}_{k}})}t}.}}}} & (2) \end{matrix}$

When the signal waveform is recorded at equally spaced intervals of time idt, Equation (2) becomes:

$\begin{matrix} {S_{i} = {\sum\limits_{k = 1}^{M}{C_{k}{^{{({a_{k} + {j\omega}_{k}})}{t}}.}}}} & (3) \end{matrix}$

Letting Z_(k)=e^((α) ^(k) ^(+jω) ^(k) ^()dt), Equation (3) becomes:

$\begin{matrix} {S_{i} = {\sum\limits_{k = 1}^{M}{C_{k}{Z_{k}^{i}.}}}} & (4) \end{matrix}$

Many variations or improvements to Prony's algorithm have been reported, and a good compendium of these techniques may be found in Debasis Kundu's book “Computational Aspects in Statistical Signal Processing”, Chapter 14. A modification of Prony's algorithm by Kundu and Mitra adapted to detect undamped sinusoids is reported in the above reference.

The Ser. No. 12/478473 invention provides an inverse modified Prony algorithm for one exemplary frequency-to-time transform, where the inverse modified Prony algorithm is adapted to accept an input comprising channel values taken at equally spaced sample frequencies along the frequency domain, as in the OFDM test system described above, and to produce an output of delay domain parameters, comprising non-equally spaced delays and their associated complex delay coefficients (phase and amplitude of a delayed signal). The resulting non-equally spaced path delays are not restricted to multiples of any particular time interval, e.g., a 51.44 ns signal sampling period.

The inverse modified Prony algorithm described herein is different than that normally expressed by Equation (2) above. Normally, if one had obtained frequencies Z_(k) and their associated amplitude/phase coefficients C_(k) using Prony's analysis method, then the inverse, namely determining the signal at desired times t (other than the given times idt) would involve substituting the determined frequencies and coefficients into Equation (2). Equation (2) therefore represents the conventional inverse of the Prony frequency analysis procedure.

Equation (2) may also be written in term of Z_(k) as:

$\begin{matrix} {{S(t)} = {\sum\limits_{k = 1}^{M}{C_{k}{Z_{k}^{t}.}}}} & (5) \end{matrix}$

By contrast, the frequency-to-time transform described herein, referred to herein as an inverse modified Prony Algorithm, comprises an algorithm for determining the delays T_(i) and their associated complex delay coefficients S_(i,q) in the equation:

$\begin{matrix} {{C_{q}(W)} = {\sum\limits_{i - 1}^{M}{S_{i,q}{^{{- {j\omega}}\; T_{i}}.}}}} & (6) \end{matrix}$

Given the channel frequency response C_(k,q) at instant q at N equally spaced sample frequencies ω_(k)=ω_(o)+(k−1)Δω, k=1, . . . , N, Equation (6) becomes:

$\begin{matrix} {{C_{k,q} = {\sum\limits_{i = 1}^{M}{S_{i,q}^{{- {j{({\omega_{o} + {{({k - 1})}{\Delta\omega}}})}}}T_{i}}}}},{k = 1},\ldots \mspace{14mu},{N.}} & (7) \end{matrix}$

Defining A_(i)=S_(i)e^(−jω) ^(o) ^(T) ^(i) and Z_(i)=e^(−jΔωT) ^(i) , Equation (7) becomes:

$\begin{matrix} {{C_{k} = {\sum\limits_{i = 1}^{M}{A_{i}Z_{i}^{k - 1}}}},{k = 1},\ldots \mspace{14mu},{N.}} & (8) \end{matrix}$

Equation (8) does not yet represent the inverse modified Prony Algorithm described herein, but it does represent the inverse of the inverse modified Prony Algorithm. The inverse modified Prony Algorithm is a method of solving (e.g., inverting) Equation (8) for Z_(i) and A_(i,q) given C_(k,q), and using Equation (9) to determine the path delays T_(i) once Z_(i) has been determined.

$\begin{matrix} {T_{i} = \frac{{jlog}\left( Z_{i} \right)}{\Delta\omega}} & (9) \end{matrix}$

Equation (9) provides purely real values for T_(i) as long as Z_(i) is constrained to be purely imaginary. This means Z_(i) should lie on the unit circle (i.e., magnitude=1) so that its logarithm will have a zero real part.

The above represents the time-frequency inverse of constraining Prony's algorithm to find only undamped sinusoids (e.g., all α_(k)=0 in Equation (2)). First, try adapting Prony's method to solve Equation (8). This proceeds by letting T_(i) be the roots of a polynomial P(T) for i=1,. . . , M. The coefficients of this polynomial (p₀,p₁,p₂, . . . , p_(M)) may be found by multiplying all factors (T−T₁)(T−T₂) . . . (T−T_(M)), given the T₁. Conversely, given the coefficients (p₀,p₁,p₂, . . . ,p_(M)), T_(i) can be found by root-finding programs, which are well developed, reliable, and fast.

Forming

$\begin{matrix} {{{{p_{0}C_{1 \cdot q}} + {p_{1}C_{2 \cdot q}} + {p_{2}C_{3 \cdot q}\mspace{14mu} \ldots} + {p_{M}C_{M + {1 \cdot q}}}} = {\sum\limits_{k = 0}^{M}{p_{k}C_{k + {1 \cdot q}}}}},} & (10) \end{matrix}$

and substituting C_(k,q) from Equation (8) obtains:

$\begin{matrix} {\sum\limits_{k = 0}^{M}{p_{k}{\sum\limits_{i = 1}^{M}{A_{i \cdot q}{Z_{i}^{k}.}}}}} & (11) \end{matrix}$

By interchanging the order of summation, Equation (11) becomes:

$\begin{matrix} {{\sum\limits_{i = 1}^{M}{A_{i \cdot q}{\sum\limits_{k = 0}^{M}{p_{k}Z_{i}^{k}}}}} = {\sum\limits_{i = 1}^{M}{A_{i \cdot q}{{P\left( z_{i} \right)}.}}}} & (12) \end{matrix}$

However, by definition z_(i) are the roots of P(z), and therefore, all P(z_(i)) equal zero. Thus, p₀C_(1,q)+p₁C_(2,q)+p₂C_(3,q) . . . +p_(M)C_(M+1,q)=0 represents one equation for the coefficients of P. Since this is true for any M+1 successive values of C_(k,q), other equations may be obtained to solve for the coefficients, leading to:

$\begin{matrix} {{\begin{bmatrix} C_{1} & C_{2} & C_{3} & \ldots & C_{M + 1} \\ C_{2} & C_{3} & C_{4} & \ldots & C_{M + 2} \\ C_{3} & C_{4} & C_{5} & \ldots & C_{M + 3} \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ C_{N - M} & C_{N - M + 1} & C_{N - M + 2} & \ldots & C_{N} \end{bmatrix}\begin{pmatrix} p_{0} \\ p_{1} \\ p_{2} \\ \vdots \\ p_{M} \end{pmatrix}} = 0.} & (13) \end{matrix}$

For simplicity, the index q has been dropped from the C-values in the matrix of Equation (13). It shall be understood, however, that all of the C-values in the matrix belong to the same (q^(th)) symbol period. Because the polynomial gives the same roots if scaled by an arbitrary factor, Prony proceeded to just let p₀=1 in Equation (13), moving it to the right hand side of the equation, and then solving for the remaining p values.

In “Mathematical Notes, Note 59,” titled “An Improved Prony Algorithm for Exponential Analysis,” Harold J. Price contends that the above-described solution according to Prony is non-optimum. Due to noise on the received signal, which corrupts the observed C-values, Equation (13) will not be satisfied exactly but should read:

$\begin{matrix} {{\begin{bmatrix} C_{1} & C_{2} & C_{3} & \ldots & C_{M + 1} \\ C_{2} & C_{3} & C_{4} & \ldots & C_{M + 2} \\ C_{3} & C_{4} & C_{5} & \ldots & C_{M + 3} \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ C_{N - M} & C_{N - M + 1} & C_{N - M + 2} & \ldots & C_{N} \end{bmatrix}\begin{pmatrix} p_{0} \\ p_{1} \\ p_{2} \\ \vdots \\ p_{M} \end{pmatrix}} = {ɛ.}} & (14) \end{matrix}$

Then the desired solution should minimize the length of the error vector ε. Because it is the direction of the p vector, and not the length, that determines the roots of the polynomial, the search for the best p using Equation (14) should search only direction space while keeping the length of p unchanged, e.g., setting |p|=1.

The error vector length squared is given by ε# ε=p#[C]#[C]p. If p is normalized to unit length by dividing by its own length √{square root over (p# p)}, then

$\begin{matrix} {{ɛ^{\#}ɛ} = {\frac{{{p^{\#}\lbrack C\rbrack}^{\#}\lbrack C\rbrack}p}{p^{\#}p}.}} & (15) \end{matrix}$

Differentiating the above with respect to p (e.g., calculating the gradient with respect to p) and setting the gradient to zero provides an equation that is satisfied at the maxima and minima of the expression (p#p)2[C]#[C]p−(p#[C]#[C]p)2p=0, leading to:

$\begin{matrix} {{{{\lbrack C\rbrack^{\#}\lbrack C\rbrack}p} = {{\frac{\left( {{{p^{\#}\lbrack C\rbrack}^{\#}\lbrack C\rbrack}p} \right)}{p^{\#}p}p} = {\lambda \; p}}},{{{where}\mspace{14mu} \lambda} = {\frac{\left( {{{p^{\#}\lbrack C\rbrack}^{\#}\lbrack C\rbrack}p} \right)}{p^{\#}p}\mspace{14mu} {is}\mspace{14mu} a\mspace{14mu} {real}\mspace{14mu} {scalar}}}} & (16) \end{matrix}$

Equation (16) represents the definition of an eigenvector of a matrix, namely that the product of the matrix with a vector yields that same vector with just a length scaling by λ. Thus, the maxima and minima of ε#ε occur when p is an eigenvector of [C]#[C], and the associated eigenvalue is the value of ε#ε at that point. The absolute minimum is thus obtained by choosing p to be the eigenvector associated with the smallest eigenvalue of [C]#[C].

Equations (13) and (14) can first be simplified by requiring that all roots of P(z) have unit magnitude. This is physically justified because the effect of a delayed ray adding to an undelayed ray is to create a sinusoidal variation of the channel frequency response along the frequency domain, and this sinusoidal curve is of constant amplitude, i.e., undamped. In the above-referenced book to Debasis Kundu, the polynomial P(z) is shown to be a conjugate palindrome in the case where all roots correspond to undamped sinusoids and lie on the unit circle. That is, the polynomial has the form p_(M−i)=p*_(i). To show this, consider that a single factor can be written in the form z−e^(−jφ), or equivalently as e^(jφ/2)z−e^(−jφ/2)=bz−b*=(b,b*). A single factor, therefore, is evidently a conjugate palindrome. By the method of induction, if a conjugate palindromic polynomial of order N is still palindromic when extended to order N+1 through multiplication by one extra factor, such as (b,b*), then the product of any number of such factors yields a conjugate palindrome.

Exploiting the conjugate palindromic property of P(z) is best achieved by writing out Equation (14) in terms of its real and imaginary parts, respectively indicated by R and I, as:

$\begin{matrix} {{\begin{bmatrix} {\begin{bmatrix} {CR}_{1} & \ldots & {CR}_{M/2} & {- {CI}_{1}} & \ldots & {- {CI}_{M/2}} \\ \vdots & \ddots & \vdots & \vdots & \ddots & \vdots \\ {CR}_{N - M} & \ldots & {CR}_{N - {M/2} + 1} & {- {CI}_{N - M}} & \ldots & {- {CI}_{N - {M/2} + 1}} \\ {CI}_{1} & \ldots & {CI}_{M/2} & {CR}_{1} & \ldots & {CR}_{M/2} \\ \vdots & \ddots & \vdots & \vdots & \ddots & \vdots \\ {CI}_{N - M} & \ldots & {CI}_{N - {M/2} + 1} & {CR}_{N - M} & \ldots & {CR}_{N - {M/2} + 1} \end{bmatrix} +} \\ \begin{bmatrix} {CR}_{M + 1} & \ldots & {CR}_{{M/2} + 1} & {CI}_{M + 1} & \ldots & {CI}_{{M/2} + 1} \\ \vdots & \ddots & \vdots & \vdots & \ddots & \vdots \\ {CR}_{N} & \ldots & {CR}_{N - {M/2} + 2} & {CI}_{N} & \ldots & {CI}_{N - {M/2} + 2} \\ {CI}_{M + 1} & \ldots & {CI}_{{M/2} + 1} & {- {CR}_{M + 1}} & \ldots & {- {CR}_{{M/2} + 1}} \\ \vdots & \ddots & \vdots & \vdots & \ddots & \vdots \\ {CI}_{N} & \ldots & {CI}_{N - {M/2} + 2} & {- {CR}_{N}} & \ldots & {- {CR}_{N - {M/2} + 2}} \end{bmatrix} \end{bmatrix}\begin{pmatrix} {PR}_{0} \\ \vdots \\ {PR}_{M/2} \\ {PI}_{0} \\ \; \\ {PI}_{M/2} \end{pmatrix}} = {ɛ.}} & (17) \end{matrix}$

Equation (17) has the above form if M is even. When M is odd, there is a slight modification due to the center coefficient of the conjugate palindromic polynomial being real. Equation (17) has twice as many equations in the same number of variables, as before, but all quantities are real. Calling the matrix in Equation (17) Q, and denoting by q the vector of p-values arranged as in Equation (17), the error ε is now minimized when q is the eigenvector of Q#Q associated with the smallest eigenvalue. Thus, the inverse modified Prony Algorithm described herein reduces to finding the eigenvectors of a real matrix, which, because of its block skew-symmetry and the fact that the blocks have the Hankel structure, may admit a more efficient solution than in the case of a matrix with no structure. If desired, Equation (17) may be rewritten by reverse-ordering PR₀ . . . PR_(M/2) and PI₀ . . . PI_(M/2), which makes the four partitions of each matrix Toeplitz instead of Hankel.

Once the eigenvector q is found, the conjugate palindromic polynomial P(Z) can be constructed and its roots Z_(i) found. Then the delays T_(i) are found using Equation (9). The amplitude/phase coefficients A_(i) in Equation (8) then have to be found. Equation (8) can be written:

$\begin{matrix} {{\begin{pmatrix} C_{1} \\ C_{2} \\ C_{3} \\ \vdots \\ C_{N} \end{pmatrix} = {\begin{bmatrix} 1 & 1 & 1 & \ldots & 1 \\ Z_{1} & Z_{2} & Z_{3} & \ldots & Z_{M} \\ Z_{1}^{2} & Z_{2}^{2} & Z_{3}^{2} & \ldots & Z_{M}^{2} \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ Z_{1}^{N - 1} & Z_{2}^{N - 1} & Z_{3}^{N - 1} & \ldots & Z_{M}^{N - 1} \end{bmatrix}\begin{pmatrix} A_{1} \\ A_{2} \\ A_{3} \\ \vdots \\ A_{M} \end{pmatrix}}},} & (18) \end{matrix}$

which represents the equation for best-fitting a polynomial with M coefficients A to a set of N+1 data points C. Denoting the matrix in Equation (18) by Z ,the solution is given by:

A=[Z#Z] ⁻¹ Z#C.   (19)

Equation (19) is solved for each OFDM symbol period (or every few symbol periods if the values C_(k) were the average over a number of successive symbol periods) to give the amplitude/phase coefficients of signals with the determined delays for each symbol period.

Because it is desired to further analyze the phase and amplitude values for each path delay along successive time periods, e.g., along successive OFDM symbol periods, we impose the additional constraint that the inverse modified Prony Algorithm shall produce the same path delay estimates for each time period, at least for a total evaluation period over which the delays can be assumed to change by negligible amounts. For example, a change in delay of 5 ns may occur due to a movement of 5 feet by the transmitter 12 or receiver 14, which movement would occur over the relatively long time interval of 56.8 ms at 60 mph. Despite the requirement that the determined path delays shall be the same over the evaluation period, the inverse modified Prony algorithm still allows the amplitudes and phases of the signal for each delay value to be determined independently for each successive time interval within the evaluation period. Therefore, we want to find P(z) according to Equations (13), (14), and (17) by including all of the pilot symbol amplitude/phase values C_(k) for all OFDM symbols in the evaluation period, the resulting path delays being those path delays that best explain the signal in all of the OFDM symbols. This is done by adding blocks vertically to the matrices of Equations (13), (14), and (17) for each symbol period. Denoting the matrix in Equation (17) by Q1 for symbol period 1, Q2 for symbol period 2, etc., the solution q that we seek is the eigenvector associated with the smallest eigenvalue of:

$\begin{matrix} \begin{matrix} {{\begin{bmatrix} {Q\; 1} \\ {Q\; 2} \\ {Q\; 3} \\ \vdots \\ {QL} \end{bmatrix}^{\#}\begin{bmatrix} {Q\; 1} \\ {Q\; 2} \\ {Q\; 3} \\ \vdots \\ {QL} \end{bmatrix}} = {\begin{bmatrix} {Q\; 1^{\#}} & {Q\; 2^{\#}} & {Q\; 3^{\#}} & \ldots & {QL}^{\#} \end{bmatrix}\begin{bmatrix} {Q\; 1} \\ {Q\; 2} \\ {Q\; 3} \\ \vdots \\ {QL} \end{bmatrix}}} \\ {{= \begin{bmatrix} {Q\; 1^{\#}Q\; 1} & {Q\; 2^{\#}Q\; 2} & {Q\; 3^{\#}Q\; 3} & \ldots & {{QL}^{\#}{QL}} \end{bmatrix}},} \end{matrix} & (20) \end{matrix}$

which will then yield the delay values which best fit all L successive symbol periods. Equation (19) may then be used with the common Z-roots but with their individual C-values to determine the amplitude/phase coefficients A separately for each symbol period.

After determining delays T_(i) for L successive OFDM symbols, and their associated amplitude/phase coefficients A_(i,q) the values of the original amplitude/phase values S_(i,q) may be computed according to:

S_(i,q)=A_(i,q)e^(jW) ^(o) ^(T) ^(i)   (21)

for each OFDM symbol period q=1, . . . , L, obtaining the two-dimensional delay/time array S_(i,q). By performing an analysis of each delay along the time dimension q=1, . . . , L, the Doppler parameters may be obtained. This is what is shown in FIG. 9. It is undesirable to constrain the Doppler frequencies to discrete bins. Thus, an application of Prony's frequency analysis procedure provides a preferred method of Doppler analysis. Further modifications to both the inverse modified Prony Algorithm for estimating the delay profile and the Prony Algorithm for estimating the Doppler spectrum are possible. For example, the paper “Exact Maximum Likelihood Parameters Estimation of Superimposed Exponential Signals in Noise” (Bresler and Macovksi, IEEE transactions on Acoustics and Signal Processing (1986), vol. 34, p 1081-1089, develops an algorithm called Iterative Quadratic Maximum Likelihood Estimation (IQML). This is derived from the Prony algorithm by noting that the determination of the polynomial P(z) first by solving Equation (14) for the least square error ε#ε, followed by the determination of the optimum coefficients A using Equation (19), does not guarantee that a different choice of polynomial coefficients could not have produced a lower residual least square error when using the solution of Equation (19) in Equation (18). To rectify this, following Bresler and Macovski, if the solution A from Equation (19) is used in Equation (8), the least square error obtained is given by C#[I−Z(Z#Z)⁻¹ Z#]C. Now, defining a band matrix G having size N×(N−M) as:

$\begin{matrix} {G = \begin{bmatrix} p_{0} & 0 & 0 & \ldots & \ldots & \ldots & 0 & 0 \\ p_{1} & p_{0} & 0 & \ldots & \ldots & \ldots & 0 & 0 \\ p_{2} & p_{1} & p_{0} & \ldots & \ldots & \ldots & 0 & 0 \\ p_{3} & p_{2} & p_{1} & \; & \; & \; & p_{0} & 0 \\ \vdots & p_{3} & p_{2} & \; & \ddots & \; & p_{1} & p_{0} \\ P_{M} & \vdots & p_{3} & \; & \; & \; & p_{2} & p_{1} \\ 0 & P_{M} & \vdots & \; & \ddots & \; & p_{3} & p_{2} \\ \vdots & 0 & P_{M} & \; & \; & \; & \vdots & p_{3} \\ \vdots & \vdots & \vdots & \; & \; & \; & P_{M} & \vdots \\ 0 & 0 & 0 & \ldots & \ldots & \ldots & 0 & P_{M} \end{bmatrix}} & (22) \end{matrix}$

it can be shown that [I−Z(Z#Z)⁻¹ Z#]=G(G#G)⁻¹ G#. Furthermore, C#G may be replaced by g#[C]#, where [C] comprises an (N−M)×(M+1) matrix given by:

$\begin{matrix} {{\lbrack C\rbrack = \begin{bmatrix} C_{1} & C_{2} & C_{3} & \ldots & C_{M + 1} \\ C_{2} & C_{3} & C_{4} & \; & C_{M + 2} \\ C_{3} & C_{4} & C_{5} & \; & C_{M + 3} \\ \vdots & \vdots & \vdots & \ddots & \; \\ C_{N - M} & \ldots & \ldots & \; & C_{N} \end{bmatrix}},} & (23) \end{matrix}$

which is the same matrix as in Equation (13), and where g#=(p₀,p₁,p₂, . . . ,p_(M)). As a result, C#[I−Z(Z#Z)⁻¹ Z#]C=g#[C]#(G#G)⁻¹[C]g. Minimizing this expression means that g should be chosen to be the eigenvector associated with the smallest eigenvalue of [C]#(G#G)⁻¹[C], as opposed to [C]#[C] in the above-mentioned improvement to Prony's algorithm proposed in the Howard J. Price reference.

Because G depends on g, the procedure is to find an initial approximation for g using, for example, Prony's method or Price's method, which is the equivalent to initializing G#G to I, and then using that value of g to calculate G, followed by iteration. It is also desirable to restrict P, and therefore, g, to being conjugate palindromes, e.g.,

g=(p ₀ ,p ₁ ,p ₂ , . . . p _(M/2) ,p* _(M/2) , . . . ,p* ₂ , p* ₁ ,p ₀),   (24)

if M is even and

g=(p ₀ ,p ₁ ,p ₂ , . . . p _((M−1)/2) ,p _(M/2) p* _((M−1)/2) , . . . ,p* ₂ ,p* ₁ ,p* ₀),   (25)

if M is odd, where the center coefficient p_(M/2) is real. Thus, when M is odd, Equation (17) will have one more value of PR to find than values of PI.

Once the matrix [C]#(G#G)⁻¹[C] is found, it is partitioned as was the matrix [C] in Equation (17) in order to solve for the real and imaginary parts of the palindromic polynomial coefficients, and then iterated. Furthermore, it is desired that the same delay profile should hold for an evaluation period of L successive OFDM symbol periods, similar to Equation (20). Namely, letting QL equal the matrix [C] obtained from symbol period L, then the expression from Equation (20) should be used to obtain the starting value of g as the eigenvector associated with its smallest eigenvalue. Then g should be successively refined to be the eigenvector associated with the smallest eigenvalue of:

$\begin{matrix} {\sum\limits_{q = 1}^{L}{{Q_{q}^{\#}\left( {G^{\#}G} \right)}^{- 1}{Q_{q}.}}} & (26) \end{matrix}$

At each iteration, the above matrix should be partitioned as was the matrix [C] in Equation (17) in order to solve for the real and imaginary parts of the conjugate palindrome eigenvector g. Then G is recalculated for the next iteration. This constitutes the preferred version of the inverse modified Prony algorithm of the Ser. No. 12/478473 invention, which is used to determine a delay profile of non-equally spaced path delays consistent across an evaluation period of L OFDM symbol periods.

FIG. 10 provides a process 100 for determining path delays and Doppler parameters according to one exemplary embodiment of the Ser. No. 12/478473 invention. Broadly, process 100 includes applying a frequency-to-time transform to a plurality of received signal samples corresponding to a plurality of frequencies (e.g., OFDM signal samples in an OFDM symbol) to determine a set of non-equally spaced path delays and a set of associated complex delay coefficients (block 110). Each of the non-equally spaced path delays and its associated complex delay coefficient correspond to one or more scattering objects of the wireless communication channel. The complex delay coefficients and path delays are determined for multiple OFDM symbols in an evaluation period to provide a matrix of complex delay coefficients. The complex delay coefficients in a given column of the matrix correspond to a given path delay in the set of non-equally spaced path delays, and the complex delay coefficients in a given row correspond to a given OFDM symbol in the evaluation period.

Subsequently, process 100 applies a time-to-frequency transform to the complex delay coefficients in a column of the delay coefficient matrix to determine a set of Doppler parameters for that path delay (block 150). The Doppler parameters comprise a plurality of non-equally spaced Doppler frequencies and their corresponding complex scattering coefficients, where each Doppler frequency/complex scattering coefficient pair corresponds to a scattering object. The sets of Doppler parameters are collected into a matrix of Doppler parameters, where a given column of the Doppler parameter matrix corresponds to a given path delay in the set of non-equally spaced path delays.

FIGS. 11A and 11B show details for implementing the frequency-to-time transform (block 110) and the time-to-frequency transform (block 150), respectively, according to one exemplary embodiment. In the embodiment of FIG. 11A, the frequency-to-time transform comprises the inverse modified Prony algorithm discussed above. In the embodiment of FIG. 11B, the time-to-frequency transform comprises the Prony algorithm discussed above. It will be appreciated, however, that the present invention is not limited to the Prony algorithms discussed herein. Instead, any transforms that determine the actual time and frequency data without restricting the time and frequency data to equally spaced and predefined bins may be used.

FIG. 11A shows the inverse modified Prony process 110 of the Ser. No. 12/478473 invention. Before the process begins, the channel processor 38 initializes a counter (block 112) to track the OFDM symbols of the evaluation period. The channel processor 38 then increments the counter (block 114), receives OFDM symbol q (block 116), and processes the OFDM symbol using Fourier analysis to determine complex amplitude and phase coefficients C_(k,q) for the k=1, . . , N pilot symbols in the symbol period (block 118). Channel processor 38 arranges the N C-values for symbol period q as per the matrix of Equation (14) to obtain the matrix Q_(q) (block 120). The channel processor then repeats the process of blocks 114-120 until q=L (block 122).

After Q_(q) has been formed for the L OFDM symbols of the evaluation period, the channel processor 38 forms the matrix sum

${\sum\limits_{q = 1}^{L}{Q_{q}^{\#}Q_{q}}},$

and partitions the result as in Equation (17) into the sum of Toeplitz+Hankel matrices (block 124). Subsequently, the channel processor 38 finds the initial values of the conjugate palindromic polynomial coefficients g as the eigenvector of the Toeplitz+Hankel matrix partitioning associated with the smallest eigenvalue (block 126), uses g to form the matrix G, and computes (G#G)⁻¹ (block 128). Channel processor 38 then forms the matrix sum

${\sum\limits_{q = 1}^{L}{{Q_{q}^{\#}\left( {G^{\#}G} \right)}^{- 1}Q_{q}}},$

which represents cumulative noise whitened channel frequency responses, and partitions the result as in Equation (17) (block 130). After finding improved values of the conjugate palindromic polynomial coefficients g as the eigenvector of the partitioned matrix formed for block 130 associated with the smallest eigenvalue (block 132), the channel processor 38 repeats blocks 126-132 until a converged value of g is obtained (block 134).

The iterative procedure described by blocks 126-134 has a new, unique, and desirable property. Namely, this iterative procedure determines a set of path delays, common to the L OFDM symbol periods, that explain the L observed frequency responses with minimum total least square error, given that the amplitude/phase coefficients for each delay will be determined separately for each OFDM symbol period. This is due to the fact that g#Q₁#(G#G)⁻¹ Q₁g is the square error for OFDM period q=1 when the path delays implied by g are used, after choosing the optimum amplitude/phase coefficients for period q=1. Likewise, g#Q₂#(G#G)⁻¹ Q₂g is the square error for OFDM period q=2 when the path delays implied by g are used, after choosing the optimum amplitude/phase coefficients for period q=2, and so forth. Thus,

$\sum\limits_{q = 1}^{L}{g^{\#}{Q_{q}^{\#}\left( {G^{\#}G} \right)}^{- 1}Q_{q}g}$

is the square error summed over all L symbol periods when the path delays implied by g are used, given that the amplitude/phase coefficients associated with each delay have been optimized separately for each symbol period. Taking out g as a common factor gives

${g^{\#}\left\lbrack {\sum\limits_{q = 1}^{L}{{Q_{q}^{\#}\left( {G^{\#}G} \right)}^{- 1}Q_{q}}} \right\rbrack}{g.}$

Hence finding g to be the eigenvector associated with the smallest eigenvalue of the cumulative noise whitened channel frequency responses, as described by blocks 130-134 gives the solution with the desirable properties.

Returning back to the inverse modified Prony process 110, the channel processor 38 finds the roots z_(k) of the conjugate palindromic polynomial P(z) whose coefficients are given by the converged value of g from block 134 (block 136). The channel processor 38 arranges the powers of the roots z_(k) to form the matrix [Z] of Equation (18), and hence computes [Y]=[Z#Z]⁻¹ Z (block 138). Channel processor 38 uses the matrix [Y] computed for block 138 to find N coefficients A_(i,q) for symbol period q from the corresponding coefficients C_(k,q) obtained for block 118 for symbol period q, using Equation (1 9) (block 140). Namely, A_(i,q)=[Y]C_(i,q), where “;” corresponds to the MATLAB notation and indicates arranging C_(k,q) values for all k=1, . . . , N to form a vector of size N×1. Lastly, the channel processor 38 converts the coefficient vector values A_(i,q) into corresponding complex delay coefficient values S_(i,q) by using Equation (21) (block 142). Note: if the pilot symbols are not in the same sub-carrier frequency slots in each OFDM symbol period, but are displaced in a way that can be accounted for by using a different base frequency ω_(o) for each OFDM symbol, then the different ω_(o) values for each of the q symbol periods should be used for Equation (21) in this step.

Blocks 112-142 of FIG. 11A detail the inverse modified Prony algorithm, which provides an improved method of finding path delays and the associated complex delay coefficients that explain the observed channel frequency responses for one or more OFDM symbol periods. Further improvements are possible by performing a Doppler frequency analysis of the complex delay coefficients for each path delay over many symbol periods, using a second transform, namely a time-to-frequency transform such as provided by Prony's algorithm.

FIG. 11B proves details for the exemplary Prony process 150. Broadly, the channel processor 38 applies the Prony algorithm to the L complex delay coefficients S_(i,q) corresponding to one path delay. More particularly, channel processor 38 arranges the L, S-values for path delay i into a matrix (block 152), as shown by Equation (27).

$\begin{matrix} {\lbrack S\rbrack = \begin{bmatrix} S_{i \cdot 1} & S_{i \cdot 2} & \ldots & S_{{i \cdot m} + 1} \\ S_{i \cdot 2} & S_{i \cdot 3} & \ldots & S_{{i \cdot m} + 2} \\ \vdots & \; & \ddots & \vdots \\ S_{{i \cdot L} - m} & \ldots & \ldots & S_{i \cdot L} \end{bmatrix}} & (27) \end{matrix}$

The channel processor 38 then finds the eigenvector h associated with the smallest eigenvalue of [S]#[S] (block 154), constructs an L×L matrix [H] by using h in place of g in Equation (22) (block 156), and finds an improved version of h as the eigenvector associated with the smallest eigenvalue of [S]#[H#H]⁻¹[S] (block 158). The channel processor 38 repeats blocks 156-158 until h converges (block 160). Subsequently, the channel processor 38 finds the roots w_(k) for k=1, . . . , m of the polynomial with coefficients of the converged h (block 162), and forms the L×m matrix [W] by using the roots w_(k) in place of z_(k) in Equation (18), and hence computes [X]=[W#W]⁻¹ W (block 164). Lastly, the channel processor 38 finds the m Doppler coefficients D_(i)=(d1,d2,d3, . . . ,dm)# for path delay i from D_(i)=[X]S_(i,;), where “;” means the values for the q=1, . . . ,L symbol periods are stacked vertically to form a 1×L vector (block 166).

There are many mathematical devices available to reduce the computational effort needed for performing the transforms of FIGS. 11A and 11B. For example, in block 158 the matrix [H#H] is Hermitian-symmetric Toeplitz, having only 2(L−m)−1 distinct element values, which represent the autocorrelation function of h* with h. The autocorrelation may be rapidly calculated by padding out h with zeros and using an FFT, according to known theory. Also, the inversion of the Hermitian-symmetric Toeplitz matrix [H#H] can be carried out in O(N²) operations using Trench's algorithm. Furthermore, its inverse has to multiply another Toeplitz/Hankel matrix S, whose rows are shifts of each other. This multiplication may also be performed using fewer operations with the help of an FFT, as is well known, and by using the Gohberg-Semencul form of the inverse. The Fourier Transform of the Toeplitz generating sequence for S may be saved and used again when the result is pre-multiplied by S#.

At the conclusion of block 166, we have m Doppler parameters for each of M path delays, forming a two-dimensional m×M array, which is the Doppler-delay diagram of FIG. 9. Doppler-delay diagrams have been obtained from cellular telephone signals before, as reported in “Estimation of scatterer locations from urban array channel measurements at 1800 MHz”, Henrik Asplundh and Jan-Erik Berg, conference proceedings of Radio Vetenskap och Kommunikation, (RVK99), pp. 136-140, Karlskrona, Sweden June 1999. These diagrams were obtained using more conventional transform operations. The Delay-Doppler analysis using Prony frequency analysis and the inverse modified Prony Algorithm described herein to compute a delay profile common to several successive OFDM symbols, is expected to yield superior results to those previously obtained. Because of the increased accuracy, the path delays and Doppler parameters obtained by the Ser. No. 12/478473 invention may be used to determine channel estimates having the requisite accuracy to process higher order modulation (e.g., 256 QAM) signals and/or to accurately predict future channel estimates.

An objective of determining more accurate delay-Doppler analysis is to enable more precise channel estimation for decoding data. Having obtained the more accurate delay-Doppler profile, it is now filtered by one or other methods to reduce or eliminate noise. For example, elements corresponding to impossibly high Doppler values can be set to zero. Likewise, impossible delays, such as negative delays, may be eliminated, as may delays of unlikely high values. Also, some number of spectral coefficients may be selected based on predetermined criteria. For example, the N largest spectral coefficients may be selected, or a threshold may be used to select the spectral coefficients.

In still another embodiment, a Minimum Mean Square Error (MMSE) procedure may be applied to the Doppler parameter matrix. A simplified explanation of MMSE is as follows. A noise level in the Delay-Doppler diagram can be estimated either by reprocessing recently decoded data to determine the noise level on data symbols, or by looking at the values eliminated on the grounds of impossible or unlikely Doppler and delay. In the remaining values, it is not known whether a value of the same order as the RMS value of the estimated noise is a true scatterer or noise. Suppose the value is d. Then using a value ad in place of d when using the delay-Doppler profile to predict a received symbol value will create an expected signal estimation error squared of (1−α)²|d|² times the signal power S, while the noise power contribution will be reduced to α² times the noise power N. The total error is thus (1−α)²|d|² S²+α²N. Differentiating with respect to α and equating to zero yields the value of α giving the least square error as:

$\begin{matrix} {{\alpha = \frac{{d}^{2}}{{d}^{2} + {N/S}}},} & (28) \end{matrix}$

where N/S may be identified as the reciprocal of the signal-to-noise ratio that would be present on a Doppler-delay value of magnitude |d|=1. Thus, it may be concluded that the Doppler delay values should be scaled down in dependence on their signal to noise ratios and their amplitudes, such that smaller values are reduced much more than larger values. This is a “softer” method than just clipping out values below a threshold. Other variations of the MMSE method may be used taking account of the correlation matrices between error sources. When the delay-Doppler coefficients scaled by MMSE are employed to re-compute the channel estimate for any OFDM symbol period and subcarrier frequency, substantial reduction of noise on the channel estimate will be evident.

Having selected or weighted the Doppler-delay coefficients as above, the value of a Delay coefficient at some desired time instant (e.g., past, present or future) is computed by summing terms comprising the Doppler-Delay coefficient rotated in phase by the time difference between the reference time and the desired time instant multiplied by the Doppler frequency. Then to find the channel estimate for any OFDM subcarrier frequency, the sum is computed of terms, each of which is the just-found Delay coefficient for the desired time instant rotated in phase by the product of the subcarrier frequency multiplied by the associated path delay. When the desired time instant is a future instant, as was mentioned before, the use of conventional transforms, i.e., Fourier Transforms, for prediction of a function returns the same value as a past value of the function. This deficiency of the prior art was due to the use of equally-spaced bins for either delays, Doppler frequencies, or both. By using non-equally spaced bins, functions are not assumed to be repetitive, and thus a future prediction does not merely return a past value.

One application of the Ser. No. 12/478473 invention is thus the reduction of noise on channel estimates to facilitate the use of higher order modulations for increasing data rate. The invention may also be used for other purposes, for example, to predict the frequency response of the channel for some future symbol, or to determine the location of a mobile transmitter by performing the inventive analysis of the signal received from the mobile transmitter at a network station to identify a pattern of scattering objects 10, the pattern then being compared with a previously stored data base of scattering object patterns using a pattern recognition algorithm.

When considering the operation of algorithms such as the above over an extended time period, various modes of operation may be employed. For example, the above methods could be used on a block-by-block basis, e.g., by processing a block of previous OFDM symbol waveform samples jointly with the signal samples for the current OFDM symbol to determine a set of scattering objects 10 pertinent to that block. However, if it is not desired to increase latency in processing the current symbol, then each OFDM symbol would need to be processed along with previous symbols, resulting in previous symbol data being reprocessed multiple times. There is at least one advantage of such a method, namely that older symbols reprocessed with the current symbol waveform samples may now have been error-correction decoded and thus data as well as pilot symbols can be used to estimate the older symbols' frequency responses. Including already-decoded data will also be considered with the continuous tracking algorithms described below.

Improvements to processing efficiency are now sought for the continuous case. Yet another variation of the above Prony algorithms may be called “The Continuous Sequential Inverse Prony Algorithm” (CSIPA). The characteristic of CSIPA is that it operates for each OFDM symbol period without waiting for the collection of a data block. It is analogous to the sequential least squares solution first invented by Gauss, and to the continuous least squares process known as a Kalman filter. The use of a Kalman filter to continuously track scatterer parameters will be shown later.

At least two versions of CSIPA can be envisaged: Moving Window, and Exponential Forgetting. To obtain the CSIP algorithm with exponential forgetting, rewrite Equation (26) to be an infinite sum with exponential de-weighting of older values, as shown in Equation (29).

$\begin{matrix} {\Lambda_{L} = {\sum\limits_{q = {- \infty}}^{\infty}{\lambda^{({L - q})}{Q_{q}^{\#}\left( {G^{\#}G} \right)}^{- 1}Q_{q}}}} & (29) \end{matrix}$

In the above, λ is a factor less than unity which de-weights older errors by a factor that reduces by λ for each successive symbol period further into the past. The current symbol period (L) is not de-weighted, as the power of λ is zero for q=L.

The matrix G can also be assumed to change only marginally from one symbol period to the next. This is justified because, in the block formulation, G was assumed constant over the block, and delays were assumed not to drift over the block. Which assumption is more accurately representative of reality is therefore moot. Moreover, traditional Prony analysis succeeds even with (G#G)⁻¹ omitted. Thus, using for each symbol period the value of G indexed with the index q is thus an improvement over the traditional Prony method and close to optimum. We thus obtain:

$\begin{matrix} {{\Lambda_{L} = {\sum\limits_{q = {- \infty}}^{L}{\lambda^{({L - q})}{Q_{q}^{\#}\left( {G^{\#}G} \right)}^{- 1}Q_{q}}}},} & (30) \end{matrix}$

which immediately leads to:

Λ_(L)=λΛ_(L−1) +Q# _(L)(G# _(L) G _(L))⁻¹ Q _(L).   (31)

The CSIP algorithm over a moving window can be obtained similarly by adding the contribution at one end of the block while subtracting the oldest contribution from the other end, obtaining:

Λ_(L)=Λ_(L−1) +Q# _(L)(G# _(L) G _(L))⁻¹ Q _(L) −Q# _(L−m)(G# _(L−m) G _(L−m))⁻¹ Q _(L−m)   (32)

Now since we do not yet have g for period L, we do not have G_(L). This can either be solved by commencing with the use of G_(L−1) to obtain a first value of g_(L) and then forming G_(L) therefrom and iterating, or else a better approximation to an initial G_(L) can be obtained in the following manner. Assuming that each delay value comprises only one dominant scatterer and therefore only one Doppler shift, note that the delay of that scatterer for period L will be its delay determined for period L−1 minus the distance moved in its direction during one symbol period, divided by the speed of light. The distance moved in units of wavelengths is simply the Doppler frequency times the elapsed time, e.g.,

$\begin{matrix} {{{T_{i}(L)} = {{T_{i}\left( {L - 1} \right)} - {{\Delta\omega}_{i}\frac{T}{\omega_{o}}}}},} & (33) \end{matrix}$

where T_(i)(L) represents the delay of the i^(th) scatterer for OFDM symbol period L, T_(i)(L−1) represents the delay of the i^(th) scatterer for OFDM symbol period L−1, T represents the ODFM symbol period, Δω_(i) represents the Doppler shift of the i^(th) scatterer, and ω_(o) represents the transmission frequency. Thus using the Doppler frequency determined for a scatterer, its delay can be accurately updated for one period ahead. Using the updated delays, the polynomial g_(L) can then be formed by multiplying first order factors corresponding to the updated delays. This value of g_(L) is used to,form G_(L) to an accuracy sufficient for Equation (31) to yield its smallest eigenvalue/vector g_(L), which may be further iterated if considered or determined to be beneficial.

If each delay value comprises for example two scattering objects 10 of different Doppler shifts Δω_(q1), Δω_(q2), each contributing a complex portion D_(1,q1) and D_(1,q2) to the total delay coefficient S_(i,L−1) for time period L−1, then their contributions for time period L may be updated to D_(1,q1)e^(jω) ^(i,q1) ^(ΔT) and D_(1,q2)e^(jω) ^(i,q2) ^(ΔT) for period L, ΔT later. FIG. 12 shows how the resultant vector changes by an amount θ, which is computable by vector arithmetic, and that angular change is then attributed to a change ΔT_(i) of the time delay T_(i), where ΔT_(i)=θ/ω, ω being the center frequency.

Effectively, when a delayed ray is due to the combination of several different scattering objects 10 of different Doppler, the above method gives a method of defining the mean delay change, at least so long as the delays of the scattering objects 10 do not diverge so far as to become considered different delays. The latter may be detected by maintaining the updated delays of individual scattering objects 10 by means of Equation (33) and determining whether the updated delay of any scatterer of one group has become closer to the delays of scattering objects 10 in a second group, at which point its contribution may be removed from the first group and added to the second group using similar vector combination procedures.

Note that past history has been taken into account twice in the above procedure. Firstly, the previously determined delays were updated using their associated Doppler shifts. Then corrected values for the delays were obtained via determining g_(L) by a procedure in which exponentially de-weighted past history was taken into account again. One or other means of using historical values seems to be redundant in the above procedure. From a numerical perspective, it is of greater interest to eliminate the more complex matrix procedure of computing Equation (31), than to eliminate the trivial procedure of updating previous delays using the Doppler shift, which is also likely to be more accurate, since it is wavelength related.

An alternative procedure is therefore to regard the modified inverse Prony process as merely providing a long term correction or “nudge” of the delays towards their correct positions, while the short term corrections to the delays are provided by integrating their Doppler shifts. This is analogous to a navigation system in which short term position changes are calculated by dead-reckoning using velocity times time, while eliminating drift error from that open-loop process by means of an occasional absolute position fix. Thus in principle, a per-symbol-period modified inverse Prony algorithm may be used to estimate delays (or g-coefficients), and g-coefficients estimated using previous values updated by Doppler are then moved towards the Prony values.

A limitation of per-symbol period inverse modified Prony is that the number of estimated path delays cannot exceed half the number of subcarriers in the OFDM symbol (e.g., about 160 for the 324-subcarrier test system). Thus, a hybrid method of using past history may be to perform CSIPA over a moving rectangular window, using the results as a means of drift-correcting values obtained just before the window that have been updated using integrated Doppler. If delays are updated using integrated Doppler, this takes the place of updating Doppler based on the symbol-to-symbol variation of phase, and an additional means of estimating Doppler from symbol-period to symbol period would then be required. This is best described in the context of using an integrated Doppler approach in the form of a Kalman process to track delays and their derivatives, which may be formally equated with Doppler shifts.

A Kalman tracking process may be constructed by assuming that the channel at frequency ω is explained by a sum of scattered waves from individual scattering objects 10 of strength S_(i,q) at time qT. Each scattered wave is delayed in phase by propagating through a delay T_(i) which is assumed to change linearly with time due to the mobile station's resolved velocity in its direction, leading to the formula for delay at time qT as:

T _(i,q) =T _(i,q−1) +T _(i,q) ΔT,   (34)

where ΔT is the (OFDM) symbol period. Thus,

$\begin{matrix} {{{C_{q}(\omega)} = {\sum\limits_{i}{S_{i,q}^{- {{j\omega}{({T_{i \cdot o} + {{qT}_{i}^{\prime}\Delta \; T}})}}}}}},} & (35) \end{matrix}$

where the index “i” ranges over all scattering objects 10. Since phase is now explained by delay, and Doppler, which is rate of change of phase, is explained by rate of change of delay, there seems no longer any need for the scatterer parameters S_(i,q) to be complex, and it would seem to be reducible to a real signal strength factor. A reason for retaining complex scatter parameter values however is that the mobile station antenna pattern can be quite distorted, and have a varying phase dependent on the direction of the sightline to the scatterer. Ascribing that phase to slightly different scatterer positions, on the order of millimeters different, is a small inaccuracy, but is avoided by retaining complex scatterer parameters.

A Kalman tracking filter seeks to successively refine estimates of the scatterer parameters based on a channel frequency response vector C(ω) of channel frequency response observations at different frequencies at the current time q. An exemplary integrated Doppler process 200 corresponding to the operations of a Kalman tracking filter is shown in FIG. 13. The channel processor 38 predicts the scatterer parameters and corresponding channel frequency responses for the new symbol period associated with time q (block 210). For example, the channel processor 38 predicts the scatterer parameters by predicting the values of S_(i,q) and T*_(i,q), which can collectively be denoted by a vector U, from the values of U at time q−1. This may be done simply by assuming S_(i,q)=S_(i,q−1), T*_(i,q)=T*_(i,q−1), and T_(i,q)=T_(i,q−1)+T*_(i,q−1)ΔT. It is usually possible to choose a scaling convention for T*_(i,q) such that the factor ΔT is included, obviating the need for a multiply. Subsequently, the channel processor 38 predicts the next channel frequency response vector C(ω) for time q using the predictions for S_(i,q) and T_(i,q). Channel processor 38 then calculates an observed channel frequency response vector C(ω) based on the OFDM symbol received at time q (block 220), and computes an error vector ε between the predicted C(ω) and the observed C(ω) (block 230). The channel processor 38 subsequently corrects the scatterer parameter prediction (block 240) in such a way as to reduce the error vector ε.

The scatterer parameter prediction of block 210 may be written in matrix form as:

$\begin{matrix} {\begin{pmatrix} S_{1 \cdot q} \\ T_{1 \cdot q} \\ T_{1 \cdot q}^{\prime} \\ S_{2 \cdot q} \\ T_{2 \cdot q} \\ T_{2 \cdot q}^{\prime} \\ \vdots \\ S_{m \cdot q} \\ T_{m \cdot q} \\ T_{m \cdot q}^{\prime} \end{pmatrix} = {\begin{bmatrix} 1 & 0 & 0 & 0 & 0 & 0 & \; & 0 & 0 & 0 \\ 0 & 1 & {\Delta \; T} & 0 & 0 & 0 & \ldots & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & 0 & 0 & \; & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 & 0 & 0 & \; & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 1 & {\Delta \; T} & \ldots & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 1 & \; & 0 & 0 & 0 \\ \; & \vdots & \; & \; & \vdots & \; & \ddots & \; & \vdots & \; \\ 0 & 0 & 0 & 0 & 0 & 0 & \; & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & \ldots & 0 & 1 & {\Delta \; T} \\ 0 & 0 & 0 & 0 & 0 & 0 & \; & 0 & 0 & 1 \end{bmatrix}{\begin{pmatrix} S_{{1 \cdot q} - 1} \\ T_{{1 \cdot q} - 1} \\ T_{{1 \cdot q} - 1}^{\prime} \\ S_{{2 \cdot q} - 1} \\ T_{{2 \cdot q} - 1} \\ T_{{2 \cdot q} - 1}^{\prime} \\ \vdots \\ S_{{m \cdot q} - 1} \\ T_{{m \cdot q} - 1} \\ T_{{m \cdot q} - 1}^{\prime} \end{pmatrix}.}}} & (36) \end{matrix}$

The matrix in Equation (36) is often denoted by Φ. In block 240, correction of the predictions made in block 210 comprises the use of the inverse of the covariance matrix, commonly denoted by P. Since P is also initially unknown, it is also predicted and corrected based on receipt of new observations.

Different means may be used to predict P. For example, P may be predicted using:

P _(q) =ΦP _(q−1) Φ#+Q,   (37)

which is appropriate where the parameters S, T, and T* may be subject to random wandering and Q describes their propensity to do so. Alternatively, P may be predicted using:

P _(q)=λ⁻¹ ΦP _(q−1)Φ#,   (38)

which is appropriate for exponential de-weighting of past history, where λ<1 represents an exponential forgetting factor. In still another example, P may be predicted using:

P _(q) =ΦP _(q−1)Φ#,   (39)

which is appropriate in the case of “least squares forever,” where all past history is used and no de-weighting is desired.

The correction implemented in block 240 uses derivatives (e.g., the GRADient) of the observation channel frequency response vector with respect to the vector of parameters S and T, which is obtained from Equation (35) and using T_(i,q)=T_(i,o)+qΔT*_(i) as:

$\begin{matrix} {{\frac{{C(\omega)}}{S_{i \cdot q}} = {{^{{- {j\omega}}\; T_{i \cdot q}}\mspace{14mu} {and}\mspace{14mu} \frac{{C(\omega)}}{T_{i \cdot q}}} = {{- {j\omega}}\; S_{i \cdot q}^{{- {j\omega}}\; T_{i \cdot q}}}}},} & (40) \end{matrix}$

and the derivative with respect to T* is zero. Hence,

$\begin{matrix} {{{GRAD}\left( {C(\omega)} \right)} = {\begin{pmatrix} ^{{- {j\omega}}\; T_{1 \cdot q}} \\ {{- {j\omega}}\; S_{1 \cdot q}^{{- {j\omega}}\; T_{1 \cdot q}}} \\ 0 \\ ^{{- {j\omega}}\; T_{2 \cdot q}} \\ {{- {j\omega}}\; S_{2 \cdot q}^{{- {j\omega}}\; T_{2 \cdot q}}} \\ 0 \\ \vdots \\ ^{{- {j\omega}}\; T_{m \cdot q}} \\ {{- {j\omega}}\; S_{m \cdot q}^{{- {j\omega}}\; T_{m \cdot q}}} \\ 0 \end{pmatrix}.}} & (41) \end{matrix}$

When the GRADient vectors for each ω for which C(ω) will be observed are stacked side by side, the result is a 3 m×N matrix where N represents the number of scattering objects 10 and m represents the number of frequencies at which C is observed. When, as above, the GRADient is not constant but is a function of the parameters (S and T), the process is known as a “linearized” or “extended” Kalman filter process.

The correction implemented in block 240 comprises updating the vector of parameters denoted by U using:

U≦U−PGRAD[R+GRAD#PGRAD] ⁻¹ ε, and   (42)

P≦P−PGRAD[R+GRAD#PGRAD] ⁻¹ GRAD#P.   (43)

In the above update step, it is usually possible to choose the scaling of the Q-matrix, which represents the tendency of the tracked parameters to exhibit a random walk, such that the matrix R, which represents covariance of noise on the observation vector, is the unit vector I.

Another variation of the extended Kalman filter may be derived by defining the error between predicted and observed C(ω) vectors to be the scalar ε#ε. The new gradient vector would then be 2ε#GRAD(C(ω)). The benefit of this formulation is that the matrix inverse [R+GRAD#PGRAD]⁻¹ is avoided, being replaced by division by a scalar 1+εGRAD#PGRADε.

The above extended Kalman filter can be used to track the scatterer parameters, e.g., delay, Doppler (rate of change of delay), and signal strength of already identified scattering objects 10, and functions even when the updated delays of different scattering objects 10 move through one another in value. Eventually, a tracked scatterer may become distant and weak, while a previously untracked scatterer gets nearer and stronger. Thus, a procedure intended to operate for long periods of time, e.g., for minutes or hours, should include ways to discard scattering objects 10 that have become insignificant and to detect the appearance of and then track new scattering objects 10.

In one exemplary embodiment, the channel estimator 38 may track known scattering objects 10 using the extended Kalman filter described above, subtract out their contributions to the received signal to leave a residual which would be expected to comprise noise and untracked scattering objects 10, and process the residual using the Prony-based algorithms of FIGS. 11A and 11B to identify new scattering objects 10. Periodically, any scattering objects 10 identified by the Prony algorithm would be compared in strength to those being tracked by the Kalman algorithm. The channel estimator 38 replaces a weak, Kalman-tracked scatterer with a Prony-detected scatterer in the event of the latter becoming stronger.

The addition or deletion of a tracked scatterer from the Kalman algorithm occurs through deletion or addition of appropriate rows and columns of the P, Q, and Φ matrices. For example, if 128 scattering objects 10 are being tracked, and it is desired to discard scattering object number 79, then rows and columns numbered 3×78+1, 3×78+2, and 3×78+3 are deleted from the P, Q, and Φ matrices. Conversely, if 127 scattering objects 10 are being tracked and it is desired to add a 128^(th), then rows and columns 1, 2, and 3 of the Q and Φ matrices are copied to rows and columns 3×128+1, 3×128+2 and 3×128+3, extending the dimensions by 3. The P-matrix is also extended by three rows and columns from 3×127 to 3×128 square. The additional rows and columns are initialized to zero everywhere except on the main diagonal. The main diagonal is initialized to values inversely indicative of the confidence in the initial values of the parameters S, T, and T* of the 128^(th) scattering object 10. If the values are obtained from Prony analysis of the residual signal mentioned above, and are considered reasonably accurate, the three new diagonal P-elements may be initialized to zero, or to the mean of corresponding P-matrix elements for scattering objects 1-127. It may be appropriate to use the block formulation of the Prony procedures, such that the above-defined signal residuals are collected over a number of OFDM symbol periods and processed en block to detect the appearance of new scattering objects 10. The time over which new scattering objects 10 are expected to appear or disappear is of the order of the time required for the mobile station to move a few meters, which, at 70 mph, would be on the order of 100 ms. Furthermore, in that period of time, older OFDM symbols may have been error-correction decoded, making observations of C(ω) available not only at the subcarrier frequencies of pilot symbols, but also at the data symbol frequencies. It may in fact be intelligent to deliberately collect signal residuals over a block period that is aligned with one or more error-correction code blocks, such as a turbo-code block, such that the block Prony procedure is performed using observations of the channel at both pilot and data subcarrier frequencies. Any new scattering objects 10 thereby identified are compared with scattering objects 10 being tracked by the extended Kalman filter, and transferred from the Prony results to the Kalman tracking procedure by addition of new scatterer parameters, with or without deletion of scatterer parameters corresponding to scattering objects 10 that have become weak.

The following shows a procedure for processing a signal received continuously based on a collection of the algorithms disclosed above.

-   -   a) A power-up synchronization phase occurs, in which the         receiving station would receive signals from the transmitting         station and determine symbol and block boundaries with the aid         of pilot symbols and other pre-agreed clues that may be inserted         into the transmitted stream.     -   (b) An initial channel identification phase occurs, in which         channel frequency responses (e.g., complex values C(ω) at one or         more sets of equally spaced frequencies ω=ω_(o)+kΔω) are be         determined with the aid of pilot symbols.     -   (c) Individual scattering objects 10 are resolved using         specially adapted versions of the Prony method for both delay         and Doppler resolution, as described herein and claimed in the         Ser. No. 12/478473 application.     -   (d) Scatterer parameters are extracted from the Prony algorithms         of step (c) for tracking by an extended Kalman filter adapted to         track delay, rate of change of delay and scatterer signal         amplitude, which may be real or complex.     -   (e) Using the tracked scatterer parameters, improved estimates         of the channel complex frequency response are provided for the         purposes of demodulating data symbols.     -   (f) Data symbols are collected over error-correction code blocks         and error-correction decoding is performed.     -   (g) Using correctly decoded data symbols and known pilot symbols         in combination with said estimates of the channel complex         frequency response, the likely received signal is reconstructed         and subtracted from the actual received signal to obtain a         residual signal.     -   (h) The residual signal is collected over one or more         error-correction coding block periods and reprocessed using same         Prony procedure as in step (c) to identify scattering objects 10         other than those being tracked in step (d).     -   (i) The strengths of the scattering objects 10 identified in         step (h) are compared with the strengths of the scattering         objects being tracked in step (d). The channel processor 40         transfers the parameters of any scattering objects 10 identified         in step (h) that are stronger than the weakest scattering         objects 10 being tracked in step (d) to the Kalman tracking         procedure. To maintain the same number of scatterer parameters,         scatterer parameters due to the weakest scattering objects 10         may be deleted.         Note that the procedure of steps (a)-(i) be preformed using         signals other than OFDM signals if they are suitably         constructed. For example, a CDMA signal using superimposed pilot         codes to permit channel estimation may be processed in the above         manner. In the above description, a number of algorithms have         been disclosed which may be used in various combinations         together with other algorithms previously disclosed or already         known in the art, in order better to decode data transmitted         between a mobile station and a network station. The direction of         data transmission is immaterial, the method being suitable for         improved decoding of signals transmitted by a mobile station and         received by a fixed network station, or vice versa.

In the above, improved methods have been described for resolving a multi-path signal received at a receiver into a sum of scattered waves of different relative delays and strengths. Doppler shift of each scattered wave caused by motion of either the transmitter of the receiver relative to the scattering objects 10 was furthermore determined either as a frequency shift, or more precisely, as a rate-of-change of delay. Expressing Doppler shift as a rate-of-change of delay is sometimes preferable, as it is a description that is independent of the actual frequency, whereas a Doppler frequency shift caused by a given relative motion is proportional to the frequency on which it is measured. When the frequency response of a channel is measured and then resolved into delays as described above, each delay is in fact a measure of the rate of change of a phase shift of a scattered signal across the frequency band, that is:

$\begin{matrix} {{delay} = {\frac{\phi}{\omega}.}} & (44) \end{matrix}$

FIG. 14 illustrates a number of phase slopes as determined across a first frequency band and extrapolated to a second frequency band. The upper line corresponds to a path when an excess delay over line-of-sight equal to 3 μs (an excess path length of 900 m), which causes an additional phase shift of 3×2000×2 π at a frequency of 2000 MHz (the lower edge of the first frequency band) increasing to 3×2010×2 π at 2010 MHz (the upper edge of the first frequency band). By receiving a signal having frequency components more or less evenly spread over the 10 MHz bandwidth of the first frequency band, resolving the signal into a sum of scattered waves according to the teachings of the Ser. Nos. 12/478473 and 12/478520 applications repeated herein above, and determining the phase shift at multiple frequencies across the band of the scatterer responsible for the upper line, the line can be determined by best-fitting a straight line to the determined phase shifts, which are marked as x.

The lower line corresponds to an excess path delay of 0.15 μs (an excess path length of 45 m), or 0.15×2000×2 π in excess phase shift at 2000 MHz. Using the same procedure, a best-fit straight line to the phase shift versus frequency determined for that scattered wave is obtained. Both the upper and lower lines are then extrapolated to the second frequency band, which may for example be 2100 MHz to 2110 MHz. Due to the 10:1 extension of the line, any error in matching the phase/frequency points within the 10 MHz first frequency band will be multiplied by 10 upon reaching the second frequency band. Thus, if an accuracy of say ±10° is required at the second frequency band, an accuracy of ±1° must be achieved in the first frequency band. This can also be expressed as a slope error of 0.1° per MHz, which translates to a delay error of 0.28 ns. Given that the accuracy of the best-fit straight line is presumably accurate enough for channel estimation over the first frequency band, the accuracy requirement for extrapolating to the second frequency can also be expressed as needing an order of magnitude improvement.

Hitherto, the achievement of such accuracy was considered beyond the capability of the art. However, the Ser. Nos. 12/478473 and 12/478520 applications provide several improvements to the art which each allow significant advance in delay determination. Firstly, the disclosure of a modified Inverse Prony Algorithm in the Ser. No. 12/478473 application, estimates the best set of delays that explain a frequency response given at equally spaced frequencies across the first frequency band, and the use of a Joint Inverse Prony Algorithm determines the best set of delays that jointly explain a plurality of frequency responses measured for the first frequency band at successive instants at which the delays are expected to be constant. Further, the use of an extended Kalman algorithm to track delays and their time derivatives over a series of successive instants over which the delays are expected to be constant apart from a systematic Doppler drift due to motion of the transmitter or receiver, is described in the Ser. No. 12/478520 application. Together, these improvements are expected to achieve the desired order of magnitude improvement in scattered wave parameter estimation over the first frequency band to allow extrapolation to the second frequency band.

If a single transmitter having a single antenna is able to predict the propagation channel frequency response to a receiver before transmitting, it may be able to optimize its transmission to provide improved communications. In general, the receiver would need to know what it did in order to take advantage of the improvement, but it is possible that such information could be included in the transmission as an overhead or deduced by the receiver, for example by attempting decoding in a plurality of ways corresponding to the different ways the transmitter may have adapted to its foreknowledge of the frequency response. For example, one simple adaptation would be for the transmitter to choose a higher order modulation constellation for OFDM sub-carrier frequencies located on transmission peaks and a lower order modulation constellation, or else placing no data, on sub-carrier frequencies corresponding to troughs in the frequency response. Such adaptation in its optimum form is sometimes known as “Waterfilling”. Since the receiver can determine the actual downlink channel upon receipt of the signal, it can surmise therefrom what the transmitter may likely have done and decode accordingly. In borderline cases, there may be some uncertainty for some sub-carrier frequencies requiring the receiver to attempt decoding in a plurality of ways. The number of different decodings may be limited by reducing the number of combinations that the transmitter can select. For example, in the limit, the transmitter can be restricted to selecting either high order modulation or low order modulation for all sub-carrier frequencies, but less restrictive choices can also be devised, with the aim of reducing the number of decodings the receiver shall attempt.

If multiple, independent transmitters can each determine the frequency response of the channel to a receiver before transmitting, there are ways to optimize their joint transmission of information to one or more receivers without needing to communicate to the receivers what they did. Such systems are described in the above incorporated U.S. Pat. No. 6,996,380.

If also, at one transmitter site, multiple antennas are available in the form of a closely spaced array or widely spaced array or a hybrid of close and wide spacing, other advantageous possibilities arise. In particular, the scattering parameter estimation is now extended to encompass multi-antenna scatterer estimation, which adds a third dimension to the Doppler and delay dimensions. A first case of multi-antenna scattering parameter estimation arises with close element spacing such that the array does not generate significant grating lobes. In that case, the different path delays to different antenna elements may be treated as identical path delays but with a different per-element phase shift, without ambiguity. Joint estimation over antennas is done in the same way as joint estimation over multiple OFDM symbol periods, namely, by summing matrices related to each and finding the smallest eigenvalue/vector of the sum. In this way a joint estimation of delays may be done over all antenna elements and over multiple symbol periods. Having obtained scatterer delays by joint estimation as above, the associated complex coefficients are determined for each symbol period and antenna element. The Doppler spectrum for each path delay is then determined by joint estimation over the antenna elements, which are assumed to be of identical directivity. Antennas of identical directivity should be receiving each scattering object wave at equal strength and thus the expectation is that the Doppler spectrum will be the same for each.

When the Doppler spectrum is obtained for each path delay, the set of complex coefficients for different antenna elements but the same Doppler/delay combination is submitted to another Prony-type analysis to partition scattered waves by direction-of-arrival (d.o.a). Only two possible d.o.a.'s are anticipated for each Doppler/delay combination, therefore the polynomials found by Prony analysis will simply be quadratics. After the just-described 3-dimensional Prony analysis in the dimensions of path delay, Doppler, and d.o.a., a three-dimensional array of complex values is obtained. Negligible or unlikely values in the three-dimensional array can then be eliminated and the values down-selected to those values corresponding to physically likely scattering objects. After translating the retained values from the reception to the transmission frequency, the values can be used by the transmitter to optimize its transmission to the same station from which it just received.

FIG. 15 shows one exemplary procedure 250 for translating the retained values from the reception frequency to the transmission frequency for a multiple antenna element device. The transmitter rotates the phase of each value though an angle equal to its associated delay (the phase/frequency slope) times the frequency difference between the reception and transmission frequencies (block 252). The transmitter further rotates the phase of each value though an additional angle equal to the associated Doppler frequency times the time difference between the reception time and the future transmission time, times the ratio of the transmission frequency to the reception frequency (block 254). The transmitter then calculates the phase progression required across the antenna elements to obtain the same transmission direction as the reception direction for each scattering object 10, based on the transmission and reception frequencies (block 256).

As an alternative to the procedure 250 of FIG. 15, the following procedure 260, shown in FIG. 16 can be used. The transmitter interprets Doppler as rate-of-change of delay, then the delay for each scattering object 10 is updated for the new time period by adding or subtracting an amount proportional to the Doppler, thus obtaining a new phase slope (block 262). The transmitter uses the updated phase slopes from block 262 to extrapolate the phase from the reception frequencies to the transmission frequencies by adding to the reception phase shifts the product of the updated phase slope and frequency difference (block 264). The transmitter then calculates the phase progression required across the antenna elements to obtain the same transmission direction as the reception direction for each scattering object 10, based on the transmission and reception frequencies (block 266).

In block 262, altering the phase slope implies pivoting a straight line of phase vs. frequency about some point. This point should be the same for all scattering objects 10, and is logically the zero phase, zero frequency point. It is therefore desired to shift all phase/frequency lines so that they pass through the origin. This is accomplished by projecting the phase/frequency line to zero frequency to obtain the intercept, which should not be reduced modulo 2π, and then subtracting that intercept phase from the equation of the line. The resulting modified phase/frequency line then represents absolute phase vs. frequency. Because the modified phase/frequency line now passes through the origin, it has the form φ(ω)=ωT(i), where T(i) represents the delay of the i^(th) scattering object 10 and ω represents the frequency. The phase of the scattering coefficient A(i) is then altered by the amount of the intercept, reduced modulo 2π, to compensate.

The delay T(i) may now be updated to T(i)+dT(i) for the new period, where dT(i) is determined from velocity multiplied by time divided by the speed of light, and where the velocity is given by the Doppler shift for the i^(th) scattering object 10. Using the Doppler-updated delay and the transmission frequency for ω yields the expected phase for that scattered wave at any given transmission frequency, and the phase factor e^(jφ) is then combined with the scattering coefficient A(i) to give the scattered wave complex amplitude expected at any transmission frequency ω.

When prediction of the transmission channel is made available to the transmitter by the above methods before transmission, and most particularly for multiple transmit antennas, the transmitter may perform more advantageous coding or weighting of the signals transmitted by each antenna in order to optimize reception at the receiver, including steps which result in cancellation of interference at unintended receivers, MISO and MIMO systems or beamforming.

The present invention may, of course, be carried out in other ways than those specifically set forth herein without departing from essential characteristics of the invention. The present embodiments are to be considered in all respects as illustrative and not restrictive, and all changes coming within the meaning and equivalency range of the appended claims are intended to be embraced therein. 

1. A method implemented by a wireless device of characterizing a wireless communication channel, the method comprising: determining a first set of scatterer parameters based on signal samples received by a wireless receiver via a first communication channel associated with a first frequency and a first time, wherein the first set of scatterer parameters comprises a set of scattering coefficients for each of a plurality of path delays, and wherein each scattering coefficient corresponds to a scattering object; and determining a second set of scatterer parameters for a second communication channel associated with a second frequency and a second time by calculating extrapolated scattering coefficients for the second set of scatterer parameters based on the first set of scatterer parameters, the first and second frequencies, and the first and second times.
 2. The method of claim 1 wherein the first communication channel corresponds to an uplink communication channel associated with an uplink frequency and an uplink time, and wherein the second communication channel corresponds to a downlink communication channel associated with a downlink frequency and a downlink time.
 3. The method of claim 1 wherein the first communication channel corresponds to a reception communication channel associated with a reception frequency and a reception time, and wherein the second communication channel corresponds to a transmission communication channel associated with a transmission frequency and a transmission time.
 4. The method of claim 1 further comprising determining extrapolated channel estimates for the second communication channel based on the second set of scatterer parameters.
 5. The method of claim 4 further comprising using the extrapolated channel estimates to pre-process transmission signals to reduce interference at one receiver from transmitted signals intended for another receiver.
 6. The method of claim 1 further comprising determining a matrix of complex delay coefficients based on the plurality of signal samples received via the first communication channel over an evaluation period, wherein different rows of said delay coefficient matrix correspond to different time intervals within the evaluation period and wherein different columns of said delay coefficient matrix correspond to different path delays, and wherein determining individual sets of scattering coefficients for individual path delays in the first set of scatterer parameters comprises applying a time-to-frequency transform to individual columns of the delay coefficient matrix.
 7. The method of claim 6 wherein the signal samples comprise OFDM signal samples, wherein the evaluation period comprises a plurality of OFDM symbol periods, and wherein different rows of said delay coefficient matrix correspond to different OFDM symbol periods.
 8. The method of claim 6 wherein applying the time-to-frequency transform to individual columns of the delay coefficient matrix comprises applying a Prony algorithm to individual columns of the delay coefficient matrix.
 9. The method of claim 1 wherein calculating the extrapolated scattering coefficients for the second set of scatterer parameters comprises: rotating a phase of the scattering coefficients of the first set of scatterer parameters based on a frequency difference between the first and second frequencies to obtain rotated scattering coefficients; and rotating a phase of the rotated scattering coefficients based on a time difference between the first and second times to obtain the extrapolated scattering coefficients for the second set of scatterer parameters.
 10. The method of claim 9 wherein each scattering coefficient in the first set of scatterer parameters is associated with a Doppler frequency, the method further comprising scaling the Doppler frequencies in the first set of scatterer parameters based on a ratio between the first and second frequencies to obtain a Doppler frequency for each scattering coefficient in the second set of scatterer parameters.
 11. The method of claim 1 wherein each scattering coefficient in the first set of scatterer parameters is associated with a rate of change of delay, and wherein calculating the extrapolated scattering coefficients comprises: calculating extrapolated path delays for the second set of scatterer parameters based on the path delays of the first set of scatterer parameters and the rate of change of delay; and calculating the extrapolated scattering coefficients based on the extrapolated path delays and the second frequency.
 12. The method of claim 11 wherein calculating the extrapolated scattering coefficients based on the extrapolated path delays and the second frequency comprises: determining reflection coefficients for the first set of scatterer parameters based on the path delays and scattering coefficients of the first set of scatterer parameters and the first frequency; and rotating a phase of the reflection coefficients based on the extrapolated path delays and the second frequency to calculate the extrapolated scattering coefficients.
 13. The method of claim 1 wherein the receiver comprises a plurality of antenna elements, the method further comprising calculating a phase progression across the antenna elements based on the first and second frequencies to determine different transmission signal directions corresponding to different scattering objects.
 14. A wireless device configured to characterize a wireless communication channel, the wireless device comprising: a first processing element configured to determine a first set of scatterer parameters based on signal samples received by a wireless receiver via a first communication channel associated with a first frequency and a first time, wherein the first set of scatterer parameters comprises a set of scattering coefficients for each of a plurality of path delays, and wherein each scattering coefficient corresponds to a scattering object; and a second processing element configured to determine a second set of scatterer parameters for a second communication channel associated with a second frequency and a second time by calculating extrapolated scattering coefficients for the second set of scatterer parameters based on the first set of scatterer parameters, the first and second frequencies, and the first and second times.
 15. The wireless device of claim 14 wherein the first communication channel corresponds to an uplink communication channel associated with an uplink frequency and an uplink time, and wherein the second communication channel corresponds to a downlink communication channel associated with a downlink frequency and a downlink time.
 16. The wireless device of claim 14 wherein the first communication channel corresponds to a reception communication channel associated with a reception frequency and a reception time, and wherein the second communication channel corresponds to a transmission communication channel associated with a transmission frequency and a transmission time.
 17. The wireless device of claim 14 wherein the second processing element is further configured to determine extrapolated channel estimates for the second communication channel based on the second set of scatterer parameters.
 18. The wireless device of claim 17 wherein the second processing element is further configured to use the extrapolated channel estimates to pre-process transmission signals to reduce interference at one receiver from transmitted signals intended for another receiver.
 19. The wireless device of claim 14 wherein the first processing element is further configured to determine a matrix of complex delay coefficients based on the plurality of signal samples received via the first communication channel over an evaluation period, wherein different rows of said delay coefficient matrix correspond to different time intervals within the evaluation period and wherein different columns of said delay coefficient matrix correspond to different path delays, and to determine individual sets of scattering coefficients for individual path delays in the first set of scatterer parameters by applying a time-to-frequency transform to individual columns of the delay coefficient matrix.
 20. The wireless device of claim 19 wherein the signal samples comprise OFDM signal samples, wherein the evaluation period comprises a plurality of OFDM symbol periods, and wherein different rows of said delay coefficient matrix correspond to different OFDM symbol periods.
 21. The wireless device of claim 19 wherein the first processing element is configured to apply the time-to-frequency transform to individual columns of the delay coefficient matrix by applying a Prony algorithm to individual columns of the delay coefficient matrix.
 22. The wireless device of claim 14 wherein the second processing element is configured to calculate the extrapolated scattering coefficients for the second set of scatterer parameters by: rotate a phase of the scattering coefficients of the first set of scatterer parameters based on a frequency difference between the first and second frequencies to obtain rotated scattering coefficients; and rotate a phase of the rotated scattering coefficients based on a time difference between the first and second times to obtain the extrapolated scattering coefficients for the second set of scatterer parameters.
 23. The wireless device of claim 22 wherein each scattering coefficient in the first set of scatterer parameters is associated with a Doppler frequency, wherein the second processing element is further configured to scale the Doppler frequencies in the first set of scatterer parameters based on a ratio between the first and second frequencies to obtain a Doppler frequency for each scattering coefficient in the second set of scatterer parameters.
 24. The wireless device of claim 14 wherein each scattering coefficient in the first set of scatterer parameters is associated with a rate of change of delay, and wherein the second processing element is configured to calculate the extrapolated scattering coefficients by: calculating extrapolated path delays for the second set of scatterer parameters based on the path delays of the first set of scatterer parameters and the rate of change of delay; and calculating the extrapolated scattering coefficients based on the extrapolated path delays and the second frequency.
 25. The wireless device of claim 24 wherein the second processing element is configured to calculate the extrapolated scattering coefficients based on the extrapolated path delays and the second frequency by: determining reflection coefficients for the first set of scatterer parameters based on the path delays and scattering coefficients of the first set of scatterer parameters and the first frequency; and rotating a phase of the reflection coefficients based on the extrapolated path delays and the second frequency to calculate the extrapolated scattering coefficients.
 26. The wireless device of claim 14 wherein the receiver comprises a plurality of antenna elements, wherein the second processing element is further configured to calculate a phase progression across the antenna elements based on the first and second frequencies to determine different transmission signal directions corresponding to different scattering objects. 